GithubHelp home page GithubHelp logo

puria / ksweb Goto Github PK

View Code? Open in Web Editor NEW
27.0 6.0 6.0 13.17 MB

Knowledge Shaper. The editor to share your knowledge.

Home Page: http://ks.studiolegale.it

License: GNU Affero General Public License v3.0

Python 40.95% CSS 16.43% JavaScript 4.73% HTML 33.84% Shell 0.05% Dockerfile 0.04% Jinja 1.44% SCSS 2.54%
knowledgebase knowledge-representation legaltech tree-of-savior legal-documents algorithms-datastructures python turbogears2 puria lawyer

ksweb's Introduction

ksweb

Build Status Coverage Status FOSSA Status License: AGPL v3

The KS (Knowledge Shaper) is a Document Automation digital product that enables the shaping and reuse of Knowledge Bases. Our effort is to allow and facilitate the creation of wizards that easily outputs documents just by answering to simple questions with an extra effort to a functiona design and UX.

You can try the demo online available on ks.studiolegale.it. Some example of Knowledge Bases are:

๐Ÿšฉ Table of Contents (click to expand)

๐Ÿณ Getting started

The easiest way to run ksweb is inside a docker container. just run

git clone --recursive https://github.com/puria/ksweb.git
cd ksweb
docker-compose up

For instructions about how to install docker-compose please refere to the official documentation

๐Ÿ’พ Manual Installation (for advanced users)

Checkout the project

git clone --recursive https://github.com/puria/ksweb.git

Pre-requisites

Before install KSweb you need to have an instance of ๐Ÿƒmongodb up and running, the python development headers and python3-virtualenv packages NB you need python3 >= 3.6 and pip >= 18.1

You also need to have to install pandoc for exporting the actual output to different formats.

Installer

run the installer:

๐ŸŽ macosx

brew install python3
cd ksweb
./install

๐Ÿง debian derivatives

apt install python3-dev python3-virtualenv
cd ksweb
./install

Manual installation

asciicast

Install ksweb using the setup.py script

 ย  ย # Enter into the first project folder
    $ cd ksweb
    
    # Create a virtual environment for python2 (important)
    $ virtualenv -p python2 venv
    
    # Activate your virtual environment (very important)
    $ source venv/bin/activate
    
    # Enter the subproject folder
    $ cd ksweb
    
    # Install all the dependencies
    $ pip install -e .
    
    # Populate the mandatory data (TO RUN JUST AT THE FIRST USAGE OF A DATABASE)
 ย  ย $ gearbox setup-app

Start the http server

 # Start a local webserver (NOT SUITABLE FOR PRODUCTION) 
 $ gearbox serve --reload

Then you are ready to go ๐ŸŽ‰


๐ŸŽฎ Usage

To run the webapp activate your virtualenv and run the server:

cd ksweb
source venv/bin/activate
gearbox serve

and head your browser to http://localhost:8080

Default accounts (username - password):

Administrator: admin ๐Ÿ”‘ adminks

Lawyer: lawyer ๐Ÿ”‘ lawyerks

User: user ๐Ÿ”‘ userks


๐Ÿ”ง Configuration

The conf files are development.ini and test.ini.

The most effective way is to edit the file and tweak stuff. Salient info are reported below.

๐Ÿƒ MongoDB

The url of the database connection is ming.url find it in development.ini and change it per your needs.


๐ŸŒ I18n

The UI of the knowledge shaper is already translated in English and Italian. If you need othe languages, please indicate us someone who wants to help, and open and issue. The extensive documentation about how the translation works is available on this section of the Turbogears official site.

In briefe allows to:

  • Create a new language (also called Catalog)
  • Extract the strings from the software
  • Update and Compile existing language/catalog

The catalogs are simple .po files that anyone can open with a translation software (eg. Poedit)


๐Ÿ“ Notes


๐Ÿ› Troubleshooting & debugging

To run the app in debug mode launch the server with the following flags

gearbox serve --debug --reload

๐Ÿ˜ Acknowledgements

Copyright (C) 2018 by StudioLegale.it http://studiolegale.it

Designed, written by AXANT.it and currently maintained by Puria Nafisi Azizi.


๐Ÿ‘ฅ Contributing

  1. FORK IT
  2. Create your feature branch git checkout -b feature/branch
  3. Commit your changes git commit -am 'Add some fooBar'
  4. Push to the branch git push origin feature/branch
  5. Create a new Pull Request
  6. Thank you

๐Ÿ’ผ License

Knowledge Shaper, Collaborative knowledge tools editor
Copyright (c) 2017-TODAY StudioLegale.it <http://studiolegale.it>
                         AXANT.it <http://axant.it>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.

FOSSA Status

ksweb's People

Contributors

dependabot-preview[bot] avatar dependabot-support avatar federicofiori avatar fossabot avatar lo-g avatar marco55555 avatar nerdiken avatar puria avatar vittoriopolto avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ksweb's Issues

Order of checkbox answers in questionary

In case of checkbox Q/A, KS does not follow the order of the answer provided by the user.
For example, see this question
screenshot_20180311_120738
that in questionary is showed like this
screenshot_20180311_120803

Bug in odt file

At the end of the form procedure, the odt file downloaded is not formatted.

Editing A

In the Q/A Section you are allowed to create and delete answers for a given question, but not Edit them.

Insert the editing feature for existing Answers

Github integration

Look how much is possible to integrate VCS functionalities within the ksweb software

list of Q&A

When the user finalizes the form procedure, could be useful if he can see the list of Q&A he answered to.

Option menu in the filter page

In the /precondition index list, make working the New QA option.

When it's clicked should have a behaviour similar to New Output:
Open a new QA -> Prefill the Filter field <select> with the chosen filter

modify output

When I save an output modification, the software goes page "Q/A" list
screenshot_20180309_132557
it should go to "Output" list
screenshot_20180309_132658

Markdown export

Could be a good idea to save the compiled versions of the knowledge bases in Markdown in place of the html editor... and such a change could also imply a simpler editor, that allows .md editing directly

Questionary back button

For unknown reasons the back button, of the questionary-compile for the first usage, is not working anymore.

New Q/A and Output

Maybe could be a good idea, when a new Q/A is created (with the filters depending on the Q/A) a new Output should be created (with filter "Q/A -> Answered")

Search page

For the Q/A, Filters, Outputs, Documents and all the pages that are paginated. The behaviour is that when you fill the input search it reloads page with the results.

New Workspace with name already used

I can't create a new Workpace with name "prova" with my account.

I get the following debug feedback:

Object { workspace_name: "prova" } prova start:139:17
Object { readyState: 4, getResponseHeader: .ajax/E.getResponseHeader(), getAllResponseHeaders: .ajax/E.getAllResponseHeaders(), setRequestHeader: .ajax/E.setRequestHeader(), overrideMimeType: .ajax/E.overrideMimeType(), statusCode: .ajax/E.statusCode(), abort: .ajax/E.abort(), state: .Deferred/i.state(), always: .Deferred/i.always(), catch: .Deferred/i.catch(), altri 10โ€ฆ } error start:150:21

Workspace "prova" didn't exist in my user area.

I see it exists a Workspace named "prova" for user "demo".

My guessing is that I can't create a Workspace "prova" with my user because it already exists with user "demo".

Label not updated after edit

When you modify the label of an output (or other entity) in /document/edit or /output/edit the label within the editor is not updated.

Label's popup

Advanced filters and output and document... based on the original design, implement the popup showing info about the entities.

For the answer green boxes, show the question... and if the answers are short a simple way to see the answers

Questionary compile

After the first usage, any percentage, when a questionary is reopened, you can move back between questions, but not follow the NEXT button

Multiline questions and answers in questionary compile

When you input on textareas for multiline questions and/or answers in the questionary compilation, unfortunately, shows everything on a single line.
See for example this question
screenshot_20180311_120525
that in the questionary is showed in one line
screenshot_20180311_120635
New lines of answers are not showed nor in questionary nor in print.

Notify new entities created

Add a badge with the number of new entities automatically created by the KS Bot (therefore not already visualized).
The number decreases when the entity is visualized.
Add an icon to the entities created by KS Bot.
The icon is deleted when the author visualize the entity.

Complex Filter

When you make a new complex filter KS requires you to enter the label even if there is text in the label
screenshot_20180426_145544

Demo form

Create a demo like form, for the GDPR document, that allows non registered users to compile the form without register.
The link should be in the index page site, and the result is destroyed each time after the user leaves the page.

Document metadata -> Accordion

By default the metadata of a Document should be hidden. (Author, License etc.)
A button with "Metadata: show more details" should be added.

Remove filters

When editing an output, that already has a filter, it is not possible to remove it.
Could be a nice idea to add a button to remove a filter.

questionary broken

Using the "new questionary" function here
screenshot_20180309_131804
does not work.

I created a document with just one output with no filters (but with embedded outputs with filters, including advanced filters

If I create the questionary here
screenshot_20180309_132105
the questionary does not allow filling (goes to the end)
screenshot_20180309_132209

Workarea landing

The workarea home should be redirect to the document page of the workarea, with a banner that incites to reuse the GDPR memorandum and/or import something

Export file: make easy analyzing diff

Analyzing differences among versions of the json file exported from KS could be easier if two issues are solved:

  • Outputs are saved in one single (sometimes very long) lines,
  • when you import a file in a workspace and export it again all the identifiers of the nodes are changed.
    I wonder how this issues could be addressed.

*nix installer

Create an easy-peasy *nix installer for people not confident with python environments.

Checkbox

Checkboxes in the QA should allow just one answer to be valid, and created.

Sidebar search

Make a ajax filter that filters out by the given keyword, output, filters

"New Output" behaviour

By creating a new output in the Output page it should check for:

  • at least one char in the Label field
  • at least one char in the editor or one entity (QA)
    if the conditions are not met the software should alert the user with a message Please add a value

If the filter was not selected before saving the user should be warned with the following message: "You didn't choose any filter. Are you shure you want to create an Output without a filter?"

Filter shortcut

In the Q/A editor and in the output editor, link the chosen filter with some link or something that allows to see the filter content

Loader

Add loader on long term operations

Remove the download

Until we don't decide a right politics and or a good external tool to convert the final document into a good and well formatted .odt, we should disable the download button for now, in the questionary/compile page!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.