Giter Site home page Giter Site logo

laws-africa / indigo Goto Github PK

View Code? Open in Web Editor NEW
54.0 12.0 25.0 37.32 MB

Indigo Platform for publishing beautiful legislation.

Home Page: https://laws.africa/indigo

License: Other

Shell 0.01% Python 34.13% JavaScript 13.69% HTML 45.46% XSLT 1.83% CSS 0.03% SCSS 4.59% Vue 0.21% TypeScript 0.03% Dockerfile 0.03%
akoma-ntoso django python javascript backbonejs legislation

indigo's People

Contributors

actlikewill avatar aliciadw avatar buff0k avatar codacy-badger avatar dependabot[bot] avatar goose-life avatar janzankowski avatar kaysiz avatar longhotsummer avatar musangowope avatar nickmwangemi avatar nicksonlangat avatar nickyspag avatar ro6ley avatar sandravaphilips 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  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  avatar  avatar  avatar  avatar  avatar  avatar

indigo's Issues

Find references to Acts

  • find references
  • update grammar to support round trip
  • resolver to redirect user to act websites
  • add resolver param to HTML renderer
  • add Find links to Acts in Analysis toolbar
  • release latest slaw and updated dependencies in indigo
  • search for acts when first importing
  • track resolver instances with zero matches
  • setup references db with data

Work sidebar

  • core sidebar
  • colours
  • sidebar links for document
  • rename document sidebar
  • make document sidebar use flex
  • recent changes
  • preview

Add login page

  • remove login functionality from app views
  • password reset flow
  • require auth on app views
  • require auth on api urls?

Bootstrap 4

  • import page
  • work pages
  • library page
  • password and profile box
  • login page
  • document page
  • document page menus and submenus
  • tooltips
  • cheatsheet
  • resolver
  • use npm

Saving a section and then re-editing loses changes

  1. choose a section in the TOC
  2. edit a section and click update
  3. save the document
  4. immediately click the section's edit button again (without clicking in the TOC)
  5. make changes and click update
  6. changes are lost

This happens because: when the document is saved the server sends updated XML. The DocumentContent model parser the new XML and stores it, and the TOC is rebuilt. However, the 'item-selected' event is not fired and the fragment linked to the editing view that we use to indicate which node must be updated with changes from step (5), is not updated. So the fragment now belongs to the old document object.

Make publication name pre-fillable

Provide a list of common publication names (eg. provincial gazette names), linked to a country.

Maybe also make it a combo-box, so that users can also add their own if the pre-filled list isn't sufficient.

Improve table editing

Make this inline.

  • use CK editor to strip bad tags
  • table editor toolbar alignment
  • use XSLT to transform HTML into AKN
  • disallow editing of multiple tables at a time
  • disable CKeditor toolbar
  • support newlines in cells
  • correctly handle cut and paste
  • document

Make tracking of amendments simpler

It's currently complex to apply new amendments to an existing document. You need to ensure that the amending document is in the library, link to it, ensure you're editing the right one, etc.

Instead, treat a collection of expressions of a single work, and the linked amendments, as a logic model.

  • show amendments and amended versions together
  • make newly created doc FRBR URIs random
  • ensure adding/editing/removing amendments works
  • save all modified documents
  • limit the choices of expression date
  • keep unsaved amendments when creating a new expression (cloning doesn't include the at-date amendment)
  • migration to make docs with generic import URIs random

Add menu interface

  • more understandable
  • opportunity to introduce new functionality more easily
  • less clutter in sidebar
  • ensure library and import pages work correctly
  • icon
  • make menu items work on hover

Menus

File

  • Create a Copy
  • Download As
  • Recent changes
  • Delete

Analysis

  • defined terms

Upgrade Django to 1.10.1

Too early to upgrade to Django 1.11 LTS right now. But updating to 1.10.x would help make the upgrade to LTS easier later on.
Have tested Indigo with Django 1.10.1. Will start with this version, and upgrade to 1.10.6 if all things go smooth.
Major concern being the Third Party libraries/plugins.

Basic server-side search support

Would be useful to do basic full-text search on the server.

  • API
  • filtering
  • handle different document languages
  • documentation
  • Differentiate between search for published documents (returning only the most recent expression of a work), vs search across documents returning any matching document.

BS4 improvements to document page

Make the document page more document focused by removing boxes and moving buttons into the button toolbar.

  • fewer boxes on document page
  • better button layout on document page
  • move doc details into a modal, it's uncommon to change them
  • make publish/draft a dropdown on the save menu
  • move edit menu into toolbar, show only when applicable
  • view/edit attachments in a popup
  • improve revisions page

Mistaken start of schedule

Indigo thinks the following starts a new schedule:

(2) Schedule 1 of the Public Enterprises Governance Act , 2006 (Act 2 of 2006), is amended by the insertion after item 52 of the following item:
"53 Communications Regulatory Authority of Namibia Communications Act , 2009 (Act 8 of 2009 )"
[Subsec (2) amended by sec 15 of Act 8 of 2015.]

Change it to

(2) The Schedule ...

fixes it.

Support works as a first-class entity, rather than implicitly in documents (expressions)

  • model
  • api
  • migrations
  • cascade soft deletes
  • document view
  • import view
  • permissions
  • add work view
  • move commencement and assent dates completely to work
  • edit work view
  • new document flow
  • prevent deletes when necessary
  • library view
  • prevent duplicate works
  • repeal moved to work
  • use work chooser when choosing repeal
  • documentation
  • use work chooser when choosing amendments
  • link to works in document amendment view
  • create work for amendments
  • concrete amendments in work view
  • copy over amendment info into documents as appropriate, when saved
  • permissions on amendments in work view
  • make document amendments readonly
  • improve work amendment view
  • document amendments must be readonly
  • don't stash amendement_events in JSON on the document, pull from the work
  • hard delete works

Support comments/annotations

Support annotations and/or free-form comments/replies.

  • basics
  • replies
  • delete comment
  • permissions
  • edit comment
  • markdown? parsing?
  • resolve comment
  • anchor must be scoped to the act or component/schedule
  • comments for top-level elements with ids (eg. preamble)

Quick edit for schedule elements doesn't work

The quick edit uses querySelector('#...') which can be an invalid selector for ids in schedules which can look like schedule/section-4.1. We must

  • handle scoping
  • use [id=...] or similar rather than # which is too generic.

Support images

Perhaps use the Markdown inline syntax: ![alt text](/path/to/image.jpg)

Issues to be resolved:

  • are images just attachments? Probably simplest mechanism.
  • what image paths are used when rendering HTML?
  • should image paths be relative to the document root, not the API root?
  • how would an API user download images along with XML, etc?
  • how to make this simple for editors, to upload and insert an image.
  • pdf
  • epub
  • html
  • server-side preview
  • cheatsheet
  • editing docs
  • api docs

L10N: localise headings and keywords in PDF, HTML, etc. versions of Documents

This is about localising the output of the platform, not the platform itself.

For instance, for a Xhosa document this should change:

Provincial Notice 365 of 2011

Commences on 2 April 2012 unless otherwise noted 
  • update HTML templates
  • update XSLT stylesheets
  • translate PDF Table of Contents
  • translate Table of Contents generated on the server side
  • mechanism to easily add new/maintain translations

Phrases to translate:

  • chapter
  • part
  • Assented to on XX
  • Commences on XX unless otherwise noted
  • Amended by XX on XX
  • Table of Contents
  • Act
  • By-law
  • Provincial Notice

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.