Giter Club home page Giter Club logo

bc-laws-api's Introduction

In production, but maybe in Alpha or Beta. Intended to persist and be supported.

Stories in Ready

Join the chat at https://gitter.im/bcgov/bc-laws-api?

bc-laws-api

Help improve this open API that provides British Columbian digital access to all B.C. provincial legislation.

Are you a civic minded developer looking to contribute to a project that makes it easier for citizens to access the law?

You are invited to help improve, BC Laws a portal application developed by the Queen's Printer of British Columbia to access BC provincial legislation. A modern alternative to traditional methods of online publishing, BC Laws provides feature rich content in a machine consumable format (XML).

Did we mention BC Laws is under a permissive license? The license grants a worldwide, royalty-free, perpetual, non-exclusive license, including for lawful commercial purposes.

How to Contribute

Please see our Issues for how you can contribute to this project. We know that there are lots of open source projects for developers to work on. So for some issues we make provide a small financial incentive to encourage contributions. We know the issues we list may take some time to complete, so we expect the primary motivation of contributors will be to improve a resource that anyone can use, with any incentives acting as icing on the cake.

Pull requests are welcome. If you would like to contribute a package, please see our CONTRIBUTING guidelines.

Features

BC Laws contains a comprehensive collection of BC legislation and related materials. It is available on the internet in two forms:

  1. The library is available as a web site in which users can browse and search the laws of British Columbia.

  2. The library is available as a portal to legislation in raw XML1 data format, accessible via the BC Laws API2. This direct access to raw data is intended to enable third parties to build or add their own custom applications based on the structure of the data and all the associated search functionality inherent in that structure. The BC Laws website itself is an example of one such application.

Usage

BC provincial legislation can be accessed and published through our Application Programming Interface (API), providing access to a significant amount of detailed legislative content. The BC Laws API is consumed by the Queen's Printer of British Columbia in it's web applications, including: http://www.bclaws.ca/

The API content is available through a permissive license which we hope will encourage citizens and companies to create new value added services further enabling citizen legislative access: http://www.bclaws.ca/standards/2014/QP-License_1.0.html

Project Status

In production.

Goals/Roadmap

To encourage the creation of new value added services leveraging the BC Laws API to further enable citizen access to the laws that govern them.

Getting Help or Reporting an Issue

To report bugs/issues/feature requests, please file an issue.

License

Code, data and content in this repository are licensed under different licenses.

  • All code in the /code directory is licensed under the Apache License 2.0. See LICENSE.Apache-2.0 in the appropriate directories.

  • All documents in the /docs directory is licensed under the Queen's Printer License - British Columbia version 1.0. See LICENSE.QP-BC-1.0 in the appropriate directories.

bc-laws-api's People

Contributors

lmullane avatar cditcher avatar waffle-iron avatar marcolussetti avatar

Stargazers

Michael Ha avatar Mike Sinclair avatar William Hetherington avatar Peter Watkins avatar

Watchers

Michael Ha avatar James Cloos avatar Peter Watkins avatar Mike Sinclair avatar  avatar Leo avatar  avatar  avatar

bc-laws-api's Issues

It's Been a While Since This Repository has Been Updated

This issue is a kind reminder that your repository has been inactive for 1573 days. Some repositories are maintained in accordance with business requirements that infrequently change thus appearing inactive, and some repositories are inactive because they are unmaintained.

To help differentiate products that are unmaintained from products that do not require frequent maintenance, repomountie will open an issue whenever a repository has not been updated in 180 days.

  • If this product is being actively maintained, please close this issue.
  • If this repository isn't being actively maintained anymore, please archive this repository. Also, for bonus points, please add a dormant or retired life cycle badge.

Thank you for your help ensuring effective governance of our open-source ecosystem!

It's Been a While Since This Repository has Been Updated

This issue is a kind reminder that your repository has been inactive for 1151 days. Some repositories are maintained in accordance with business requirements that infrequently change thus appearing inactive, and some repositories are inactive because they are unmaintained.

To help differentiate products that are unmaintained from products that do not require frequent maintenance, repomountie will open an issue whenever a repository has not been updated in 180 days.

  • If this product is being actively maintained, please close this issue.
  • If this repository isn't being actively maintained anymore, please archive this repository. Also, for bonus points, please add a dormant or retired life cycle badge.

Thank you for your help ensuring effective governance of our open-source ecosystem!

Favourites Tree Threshold Limit Break

An idea being explored and shaped. Open for discussion, but may never go anywhere.

Story:

As a product owner I have discovered that the favourites tree is not working correctly as there is a threshold after which the favourites content tree becomes non-functional.

Additional detail:

Goto: http://www.bclaws.ca/civix/content/complete/statreg/?xsl=/templates/browse.xsl and click on Favourites. As a “Content Distributor” the user may already have a favourites tree but when they point a lot of content at it (Goto: http://www.bclaws.ca/civix/content/arch_oic/arc_oic/?xsl=/templates/browse.xsl) the content tree becomes overwhelmed; so as an interim solution it was removed. So it’s not so much that the piece of work is adding documents, this is done through the application layer and consumed through the API interface, but that as I add documents the trees performance degrades to an unacceptable level.

Acceptance criteria:

  1. Javascript tree contains a list of nodes that users can select.
  2. Tree is created using the content API as described: http://www.bclaws.ca/civix/template/complete/api/EP_API_content.html
  3. Selected nodes are stored in a cookie called favIDS, as a list of ancestors separated by comma. Each selection/deselection of a folder/document updates the cookie and adds/deletes the corresponding ancestor to the listTree and should default open to the lowest complete branch. Examples:
    • If “A” is selected in its entirety Tree should open to the “A” folder
    • If “Access to Education” is selected in its entirety Tree should open to “Access to Education”
    • If “Access to Education” and the “P” folder is selected in its entirety the Tree should open to both “Access to Education” and the “P” folder
  4. The list should also be adjusted such that if a parent is selected, the parent ancestor is added to the list and existing children ancestors are deleted.
  5. The Advanced favourite search feature will grab all the ancestors in the cookie. If html5 storage is present, it is used instead of the cookie.
  6. Tree must be able to be cleared using the clear favourites as per:
    http://www.bclaws.ca/civix/content/complete/statreg/?xsl=/templates/browse.xsl
  7. Tree should not substantially degrade in performance when used against larger document collections such as the Historical OIC collection:
    http://www.bclaws.ca/civix/content/arch_oic/arc_oic/
  8. Tree should outperform current tree load time by 3X when initially loaded with browser session information cleared. Firefox web-developer profiler will be used to determine the success of the test.

How to contribute

We will evaluate each pull request and choose the best solution to the issue based on the acceptance criteria. Submit the best solution and you could be paid $1000.

More than one pull request may be considered for payment on this issue.

Please read the Contribution Guidelines for the Terms that set the rules for participation in a Pay for Pull, including how you’ll get paid if you are successful.

Have questions? Please post your questions in the comments section below this issue.

And check out our Partners page for more information on our work.

Create print ready PDF files of BC Laws

An idea being explored and shaped. Open for discussion, but may never go anywhere.

Story:

As a citizen, I would like to access a typeset PDF document of all the acts and regulations of British Columbia so I can print them.

Additional detail:

The Queen’s Printer of British Columbia has converted all legislation in British Columbia to an XML format and given access to this information through an open API. We would like to leverage this XML data to create print ready PDF files. Some work has been done on this by creating xsl style-sheets (.xsl files) that convert the source xml document to an xsl-fo (.fo) file. The resulting xsl-fo file will then be transformed by Apache FOP into a pdf document.
We have supplied pdf examples and inDesign templates as style guidelines for how the final pdfs should look. Additial xml examples can be obtained through the BCLaws API located here: www.bclaws.ca and documented here: www.bclaws.ca/documentation.

The process we require is as follows:

  1. Create xsl file(s) that transforms the xml input into xsl-fo markup. (input.xml -> transform_to_fo.xsl -> result.fo)

The xsl files you create must be compliant with the criteria outlined below. We only require the xsl to successfully generate the .fo files and not any supporting transform specific
code you have written. For writing and testing the xsl we suggest using an editor which supports transformation using Saxon such as Oxygen xml editor or
one of the many open source alternatives listed here. Your resulting .fo file can then be
tested using Apache FOP to see the resulting pdf output.

The xsl files we have supplied are to be used as guidelines but you may use the code in your own implemetation.

Acceptance criteria:

The story will be considered complete when:
The xsl files you write can be used to generate .fo files that can be used to create pdfs to match the format of the InDesign files we supplied. The resulting PDFs should match the font, styles and content of the InDesign files located in the docs directory

Attached you will find source XML for 2 Acts, and 2 Regulations. Your solution should be able to accuratly transform these source documents into resultant .fo file.

XSL files should be written using XSLT 2.0 and be compliant with a Saxon transformer.
XSL files should well documented and follow best coding practices such as those found here.

Source XML is available at the following link: Source XML.zip

Please read the Contributing file for how to participate.

We would love to here from you. Please post your questions in the comments below.

It's Been a While Since This Repository has Been Updated

This issue is a kind reminder that your repository has been inactive for 1150 days. Some repositories are maintained in accordance with business requirements that infrequently change thus appearing inactive, and some repositories are inactive because they are unmaintained.

To help differentiate products that are unmaintained from products that do not require frequent maintenance, repomountie will open an issue whenever a repository has not been updated in 180 days.

  • If this product is being actively maintained, please close this issue.
  • If this repository isn't being actively maintained anymore, please archive this repository. Also, for bonus points, please add a dormant or retired life cycle badge.

Thank you for your help ensuring effective governance of our open-source ecosystem!

It's Been a While Since This Repository has Been Updated

This issue is a kind reminder that your repository has been inactive for 1755 days. Some repositories are maintained in accordance with business requirements that infrequently change thus appearing inactive, and some repositories are inactive because they are unmaintained.

To help differentiate products that are unmaintained from products that do not require frequent maintenance, repomountie will open an issue whenever a repository has not been updated in 180 days.

  • If this product is being actively maintained, please close this issue.
  • If this repository isn't being actively maintained anymore, please archive this repository. Also, for bonus points, please add a dormant or retired life cycle badge.

Thank you for your help ensuring effective governance of our open-source ecosystem!

Add project lifecycle badge

No Project Lifecycle Badge found in your readme!

Hello! I scanned your readme and could not find a project lifecycle badge. A project lifecycle badge will provide contributors to your project as well as other stakeholders (platform services, executive) insight into the lifecycle of your repository.

What is a Project Lifecycle Badge?

It is a simple image that neatly describes your project's stage in its lifecycle. More information can be found in the project lifecycle badges documentation.

What do I need to do?

I suggest you make a PR into your README.md and add a project lifecycle badge near the top where it is easy for your users to pick it up :). Once it is merged feel free to close this issue. I will not open up a new one :)

It's Been a While Since This Repository has Been Updated

This issue is a kind reminder that your repository has been inactive for 1148.32 days. Some repositories are maintained in accordance with business requirements that infrequently change thus appearing inactive, and some repositories are inactive because they are unmaintained.

To help differentiate products that are unmaintained from products that do not require frequent maintenance, repomountie will open an issue whenever a repository has not been updated in 1148.32 days.

If this product is being actively maintained, please close this issue.
If this repository isn't being actively maintained anymore, please archive this repository.

Thank you for your help ensuring effective governance of our open-source ecosystem!

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.