datatools-ui icon indicating copy to clipboard operation
datatools-ui copied to clipboard

Plans for generalizing this project

Open nickaein opened this issue 5 years ago • 2 comments

We are planning to develop a GTFS editor and have encountered this project. It seems very promising and meets most of our requirements. Great job and thanks for making it open source!

There are some design choices though that while are understandable, doesn't quite fit our use-case. We are happy to contribute and generalize this project to make it more flexible, but this begs the question that to what extend the Pull Requests would be accepted and incorporated into the upstream project. In particular we are interested in:

  1. Removing the hard-dependency on Auth0 and make it easier to swap it with other models (e.g. local authetication).

  2. Upgrading the React library to the latest version (>16.8, which adds support for hooks) along with the changes needed throughout the codebase.

  3. Replacing Leaflet (or maybe making it customizable) with the Mapbox WebGL for displaying map.

nickaein avatar Feb 04 '20 13:02 nickaein

Hi, thanks for your interest and apologies for the delayed response.

  1. We are unlikely to accept pull requests that introduce more configuration complexity, such as removing Auth0 as a dependency. That being said, can you describe more fully your interest/need for replacing Auth0?
  2. Updating React is certainly on our roadmap -- we would wholeheartedly accept such a PR. I'm not sure the best approach to shepherding such a big change from an someone that's not a part of our core team, but I'm open to ideas -- I just wouldn't want to waste too much of anyone's time on the back and forth of a PR review like that. (fyi, this relates to #362)
  3. Replacing Leaflet is up for debate, but this would touch a large portion of the application and I'm not sure we could justify the time to review and test such a PR. Is your main goal here to allow for the use of vector map tiles (rather than raster)?

landonreed avatar Apr 14 '20 22:04 landonreed

Hi Landon,

Thanks for the response!

  1. We have already our internal Single-Sign-On solution in place which has LDAP/Kerberos support. We would like to use it instead of depending on Auth0.

  2. That's awesome! I wanted to make sure the core team is open and looking forward to such upgrades.

  3. Yes, we have vector map tiles and prefer to use it instead of raster.

I asked this question to help us to determine whether we can use this project for GTFS editor. Eventually, we decided to use this project as basis and make changes based on our requirements.

Here are the changes that we have made and would be happy to submit a PR, if the core team willing to extend the project in these cases:

  1. Add Entrance type for location_type of Stops (this is a simple change, but some of the next changes depend on it)
  2. Only show stop items with location_type=Station for parent_station in Stop panel (The stops with location_type of anything other than Station cannot be the parent of a Stop).
  3. Only show stop items with location_type=Station when selecting stops for a Trip Pattern.
  4. Display a special icon on map for stops with location_type=Entrance
  5. Support setting parent_station of a stop simply by clicking on the desired station on map (it will be much easier for the user instead of selecting it from a long list of stations).
  6. In the Stop panel, show the list of Routes that go through it (it helps the user to determine which routes reference a stop).
  7. In the Route panel, display the list of fares referencing it (it helps the user to determine what fare(s) a route has)
  8. Disable Auth0 login altogether (we currently uses browsers Basic Authentication as a temporary solution)
  9. Support importing a GeoJSON LineString as pattern shape geometry.
  10. Support simplifying the pattern shape with a tolerance (e.g. 1 meter error) to reduce the number of geopoints for that pattern.

nickaein avatar Apr 20 '20 00:04 nickaein