Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify transport agency additions #655

Closed
paravoid opened this issue Dec 27, 2019 · 9 comments
Closed

Simplify transport agency additions #655

paravoid opened this issue Dec 27, 2019 · 9 comments
Labels
coverage 🗺️ This is related to the geographic areas supported. enhancement 🏗️ A functional improvement.

Comments

@paravoid
Copy link

I came across Transportr (through a tweet from Matthias Kirschner). It looks lovely, thank you so much for your efforts and for releasing it as free software!

[ I realize that the following is not a bug, nor a Transportr issue per se. I thought it was still good to share this and thought this was the most appropriate place but forgive me if I'm wasting your time. ]

I live in Athens, Greece, and unfortunately there is no coverage of that in Transportr. I'm not an Android developer, but comfortable with sending PRs, so I read through your contributing instructions in order to see whether I could contribute this. If I understand it correctly, the process is:

  1. Find GTFS feeds for local transport agencies (easy enough, found them!)
  2. Send an email to Navitia's Google Group asking them to be added. Wait until this happens, or alternatively, set up a Navitia instance locally (which doesn't seem trivial).
  3. (Optional) Send an MR, with Java code, implementing some bits of the transport agency logic(?), to the the public-transport-enabler staging GitLab repo.
  4. Send the same PR to to the public-transport-enabler GitHub repo. Wait until this gets merged(?).
  5. Send a PR to Transportr to add the provider. That should be code (in Kotlin?) alongside the agency's vector logo.

I'm not proficient in Java and I don't know Kotlin. To add to that, I also have no idea how I would test if any of the above work, besides setting up an Android development environment, and building Transportr + public-transport-enabler locally and deploying it on my phone. That... would probably take me several days of effort.

I'd love to use this project, and would be happy to do a drive-through contribution! Unfortunately, the bar is set pretty high right now. It sounds like the responsibilities (and data) are scattered across multiple projects, so not necessarily something that you could fix alone. I don't have any bright suggestions myself! If I can think of a couple, maybe not-so-bright ideas:

  • Move more of the Transportr logic outside of code (Kotlin) and into a data format (like YAML?). Maybe accompany it with a simple validator that one can run before submitting?
  • Accompany the app with a simple CLI that one could build that would test public-transport-enabler and test whether a patch works before submitting it. Would avoid one needing to be familiar with Android development. Maybe add simple-to-use instructions on how to build this CLI (e.g. with Docker?)

Thanks again -- and no hard feelings if you decide this is out of scope and declined as an issue outright.

@paravoid paravoid added the enhancement 🏗️ A functional improvement. label Dec 27, 2019
@grote grote added the coverage 🗺️ This is related to the geographic areas supported. label Dec 27, 2019
@ialokim
Copy link
Collaborator

ialokim commented Sep 6, 2020

A first step to clarify things might be adding this short bullet-point list by @n76 to the Transportr web page as a summary of steps to do.

@mzzntn
Copy link

mzzntn commented Nov 7, 2020

Another idea could be the possibility to directly add inside the app the possibility to choose a personal instance of the api from navitia.

In this way anyone can build his navitia environment and directly use its api without waiting for navitia's approval

@ialokim
Copy link
Collaborator

ialokim commented Nov 7, 2020

build his navitia environment

I remember that was a tough thing to do (at least three years back). How would you integrate this "additional custom Navitia API" into the existing "network selection" process/activity in the app?

@mzzntn
Copy link

mzzntn commented Nov 7, 2020

I actually tried to build the navitia enviroment with docker-compose and it was pretty easy at least with a single gtfs.

I was thinking that a possible solution could be to add a "custom area" in the first screen of the application (where you need to choose the continent), maybe only accessible after having enabled a sort of developer mode in the settings.

@grote
Copy link
Owner

grote commented Nov 9, 2020

You can already add Navitia providers using another server. The issue is more with ensuring that those servers continue to be maintained. Transportr included one such provider where the server actually isn't maintained anymore and probably needs to be removed for that reason.

@mzzntn
Copy link

mzzntn commented Nov 9, 2020

I'm sorry @grote but from my understanding I can't use another navitia server without modifying the application.

As you said the app support other navitia servers but it's difficult to add them. The scenario that I described in the previous comment could be a first step to let the user or transit agency test their gtfs.

@grote
Copy link
Owner

grote commented Nov 9, 2020

Sorry, then I misunderstood your original proposal.

I personally don't see any value in this for Transportr (and it seems off-topic in this ticket). What you want seems to be a test app to test your own server with. If you went through the trouble of setting up your own server, re-building Transportr to test it should be a small and easy step in the entire endeavor. But then this is only for testing. Once a server is stable, support for it should be added properly without having users to manually enter URLs. There's no way around this.

@michaelblyons
Copy link

schildbach/public-transport-enabler#555

@Altonss
Copy link
Collaborator

Altonss commented Nov 1, 2024

See #954 , this is already an issue solved by https://transitous.org/ (transit agency additions is already very well handled by transitous). Support for transitous only needs to be added upstream :)
Therefor I'll close this issue for now, feel free to reopen if needed.

@Altonss Altonss closed this as completed Nov 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
coverage 🗺️ This is related to the geographic areas supported. enhancement 🏗️ A functional improvement.
Projects
None yet
Development

No branches or pull requests

6 participants