Maps: TODO before first release

Created on 5 May 2019  ·  37Comments  ·  Source: nextcloud/maps

Here is an extensible list of what's missing before we can think about making a first release:

General

  • [x] get a certificate to publish to appstore
  • [x] fix/test makefile "appstore" target
  • [x] add filtypes actions to import favorites/devices from gpx/kml/kmz
  • fix CI script:

    • [ ] at some point test complained it couldn't create user folder

    • [ ] autoloader problem (are we doing something wrong when installing NC?)

  • [x] fix second migration script which does not declare auto increment field as primary key
  • [x] make some tests (at least PhpUnit)
  • [ ] use Webpack to manage JS dependencies
  • [x] make time slider optional
  • [ ] use a library to write valid XML when exporting things

Routing

  • [x] implement admin options to setup routing: choose routing engine (Osrm/Graphhopper...), service URL, API key, routing type (car, bike, foot...)
  • [x] let the user choose routing type in the UI (if declared as possible in admin settings)
  • [ ] add routing button to export track (was in sidebar before)

Contacts

  • [x] display contacts that have an address #34

Favorites

  • [ ] have at least one client able to sync with us:

    • [ ] Marble would require a few changes to be compatible

    • [ ] Gnome Maps might become compatible this summer

    • [ ] OsmAnd would be nice! Nothing like that yet.

Tracks

  • [x] add a marker with an icon where the tracks begin
  • [x] list all tracks, use file hooks to populate track list just like it's done for photos
  • [x] make the track list sortable by filedate/filename
  • [x] make tracks searchable by file name

Devices

  • [x] clarify device identification (currently: user agent is the ID)
  • [x] if we keep user agent as ID, parse it better (avoid browser version number for example)
  • [x] make PhoneTrack-Android able to log to Maps

Photos

  • [ ] improve what happens when clicking on a photo (use gallery viewer?)
  • [ ] handle group sharing events/hooks
  • [x] make occ maps:scan-photos verbose
  • [x] scan photos after app installation
  • [x] hide non-localized photos feature for now
enhancement

Most helpful comment

Ladies and gentlemen, the v0.1.0 archive is available in the project releases. :tada:

Could some of you try to install Maps from this archive in a "clean" Nextcloud instance and check it works fine? Potential problems are:

  • missing files
  • huge mistake/bug we didn't spot yet
  • code signing issues
  • whatever detail still worth to fix before publishing appstore release

Feel free to suggest a content for the release comment in github.

All 37 comments

Awesome roadmap! The only thing missing is probably the verbose output of occ maps:scan-photos which doesn't show anything if run but actually works if you check the database.

@e-alfred Yep thanks for the remark. It's been added to the list.

have at least one client able to sync with us

I would say that this likely comes after the first release, not right out of the gate. :)

I also just assigned milestones to all the open issues, so we can focus on what we think is valid for 1.0 :)
https://github.com/nextcloud/maps/milestone/1

Check out the other milestones and if that makes sense, or feel free to move stuff around as I only quickly judged what should go where.

Dumb end user here. This looks ike a killer Nextcloud app in the making, thanks so much for your work on it! Any provisional ETA on a release that does not require typing "make" into a terminal?

Hey dear end user :smile:! Well we don't know when the first release will be there. I would say in less than 2 month. We need to choose what we really want in this first release and make some more tests and polishing. You could be a great help in this process.

Do you have difficulties to install development version?

If you are desperate for testers perhaps, but I would not know where to begin. I only run the stable release of software and sometimes after waiting years for it, so 2 months sounds great! I promise I will complain if necessary, and in detail, about the release version. :)

@Friptick you could say we are desperate for testers, and it would be great if you can help. :) Running make in the folder should be the only thing, then it should be the same as if you installed it from the app store.

So @eneiluj and I just talked and we want to make it a bit earlier than in 2 months. And that’s why testing is especially important and valuable! :) So @Friptick if you need any help let us know, and if you find any issues please report them as separate issues https://github.com/nextcloud/maps/issues/

Thank you so much! :heart:

Well yes I think I would need help. I almost never touch the CLI, for several years I have just been clicking on upgrade buttons when they pop up. Actually it seems I do not even have the latest Nextcloud version installed (15 not 16). If you are still convinced I am your ideal guinea pig, go ahead and tell me what to do. :)

Yes, that sounds great! :) I am myself a designer and prefer to not touch the command line, but it’s fairly straightforward:

Development setup

(You can navigate folders in the terminal using cd nextcloud/apps/, for "change directory".)

  1. ☁ Clone the app into the apps folder of your Nextcloud: git clone https://github.com/nextcloud/maps.git
  2. 👩‍💻 Run make inside that folder to install the dependencies
  3. ✅ Enable the app through the app management of your Nextcloud
  4. 🎉 Ready to go! You can go to the Maps app and start exploring it.

Let me know if those steps work for you or if at any point there was confusion! :)

If only it were that easy! Unfortunately in my case your howto breaks at step 2, with make (which I had to install) complaining about various things, in particular:

Makefile:89: recipe for target 'npm' failed

Well I tried an apt install nodejs to fix it but no luck, apparently npm (if that is what your makefile wants) does not come with the nodejs package on the latest Debian. And the standard NodeJS advice is then "Forget our outdated OS package, get the shiny new version on our website!". Well, that is where my journey will have to end.

To me this is a perfect example of how the development system is broken. No end user should be expected to jump thru dangerous hoops like these. I have long but amateur experience of Linux and have learned to stick to certain rules to avoid unnecessary pain and danger. The gist of them being: stick with the package manager, do not download from arbitrary URLs, be very wary of arbitrary scripts. So I completely avoid tar.gzs, bins and Makefiles normally. And that works fine. But to test software still means doing all of these things apparently.

Sorry. If you can see an obvious quick fix, please describe. But really i would prefer not to have to go offroad like this. I can always provide feedback on the first official version.

@Friptick that is already valuable feedback, thanks a lot! :) I will check and update the readme accordingly. And yes, unfortunately when people have stuff like node and npm already installed, it is easy to forget how much hassle it is to do that in the first place – as I just did.

So I’m sorry, and thank you! :) If all goes well, there might be a release in the next days. ;)

@jancborchardt @tacruc I just realized we miss something quite important for a first release: the initial photo and track scan... Do you think we should just tell the admins to run it manually after the first install or should we dig a little bit and find a way to scan automatically after app install?

the initial photo and track scan... Do you think we should just tell the admins to run it manually after the first install or should we dig a little bit and find a way to scan automatically after app install?

If you like, maybe check how that could be done. Would indeed be good to have! :)

@friptick I understand your frustration and, while I am not continuing to ask you to test anything, you may be interested for future reference in my Docker-based dev environment that I mentioned here: https://github.com/nextcloud/maps/issues/34#issuecomment-520284315

I found out that it was possible to trigger something with install repair steps. Track and photo scan is now done automatically after installing the app: #79 . Yay!

We're close to the release now. Once #78 and #79 will be polished and merged, what's left to do?

I've checked that the makefile appstore target produces a valid app archive with correct code signatures. It seems alright.

@eneiluj nothing from my side. This is only the first release and there will be maaaaany to come. :)

@tacruc @anaqreon anything really pressing and release-blocking other than the pull requests @eneiluj mentioned?

I am unable to verify the fix @eneiluj made in #77 but if that is indeed fixed, I have no outstanding issues.

@tacruc @anaqreon anything really pressing and release-blocking other than the pull requests @eneiluj mentioned?

  • [x] I'm not sure if this is a problem with my touch-pad, but in 50% of the cases when I try to move the map to the west I open the sidebar and does not move the map. Which must be fixed before the release.
  • [ ] I think the sidebar should not close after toggeling an entry. It confuses me and makes it hard to select or unselect multiple entries
  • [x] Any good ideas how to fix
    image

I'm not sure if this is a problem with my touch-pad, but in 50% of the cases when I try to move the map to the west I open the sidebar and does not move the map. Which must be fixed before the release.

I'm glad you mentioned this because it makes the map almost unusable on a mobile device for me too.

Also, we need to find a good way to fix the initial scan of files as per https://github.com/nextcloud/maps/pull/79

I'm not sure if this is a problem with my touch-pad, but in 50% of the cases when I try to move the map to the west I open the sidebar and does not move the map. Which must be fixed before the release.

For this I think we have to disable the swipe-open functionality of snap.js (which handles the sidebar open). Do you know how to do this @skjnldsv @juliushaertl? Also this might be something for core, as it leads to issues not only here …

I think the sidebar should not close after toggeling an entry. It confuses me and makes it hard to select or unselect multiple entries

Good question how to do that. Also snap.js or also some core stuff? @skjnldsv @juliushaertl for the rescue too?

Any good ideas how to fix
image

I will move the search field a bit to the right when the menu button is shown. :)

For this I think we have to disable the swipe-open functionality of snap.js (which handles the sidebar open). Do you know how to do this @skjnldsv @juliushaertl? Also this might be something for core, as it leads to issues not only here …

I think you can use OC.disallowNavigationBarSlideGesture()

79 is most likely (hopefully :grin:) correct now. When it's accepted, I'll create a new release in this github project. It would be nice if some of you guys could check and confirm it is installable, no file is missing etc...

Then, if we all agree, I can publish the release on https://apps.nextcloud.com/ . :rocket: :fireworks: :tada:

@tacruc:

I think the sidebar should not close after toggeling an entry

Let's think about that later. This behaviour comes from outside Maps app. We can discuss that later with @jancborchardt and maybe decide we want to inhibit the sidebar closing.

Any good ideas how to fix

Maybe by positioning the search (and routing) element under the hamburger when it's there. Let's do that in v0.1.1

Maybe by positioning the search (and routing) element under the hamburger when it's there. Let's do that in v0.1.1

As said I’ll move it a bit to the right - just got up and will prepare a pull request. :)

Pull request with the fix for the search field at https://github.com/nextcloud/maps/pull/82 :)

@tacruc:

I think the sidebar should not close after toggeling an entry

Let's think about that later. This behaviour comes from outside Maps app. We can discuss that later with @jancborchardt and maybe decide we want to inhibit the sidebar closing.

I agree

Ladies and gentlemen, the v0.1.0 archive is available in the project releases. :tada:

Could some of you try to install Maps from this archive in a "clean" Nextcloud instance and check it works fine? Potential problems are:

  • missing files
  • huge mistake/bug we didn't spot yet
  • code signing issues
  • whatever detail still worth to fix before publishing appstore release

Feel free to suggest a content for the release comment in github.

Wohoooo! 🎉

@Friptick @e-alfred and others, this is the stage where you can test! Just go to https://github.com/nextcloud/maps/releases and download the .tar.gz file from there, extract it into your nextcloud → apps folder, and enable it via the apps management. Then it should work!

(If it doesn’t that’s an issue we need to fix so let us know.)

Tested with current release and new installation, works nicely! :)

Still waiting for the ftp connection to upload the app to a more active server, then I’ll report back. How is it for everyone else?

Just enabled the app from archive on my private production system. Got some errors, will report in separate issues.

Yup, on my private production system it also works reasonably good except some small errors. I would say it’s good for 0.1 release though cause there will always be more issues. @tacruc @eneiluj @anaqreon what do you think?

Errors described by @tacruc are pretty huge. If it's a bug it should definitely be solved before publishing. If it's something specific to his NC setup well...I still means it can happen to someone else.

Nice new release, but there seems to be a bug in the contacts backend. If I try to load them I get the following message in my log files and the spinner goes on forever:

{"reqId":"XWhDd5NwMEnE5vBRUQgfxQAAAPc","level":0,"time":"2019-08-29T23:31:23+02:00","remoteAddr":"1.1.1.1","user":"user","app":"maps","method":"GET","url":"\/owncloud\/apps\/maps\/contacts","message":"Externally looked failed","userAgent":"Mozilla\/5.0 (X11; Linux x86_64; rv:68.0) Gecko\/20100101 Firefox\/68.0","version":"16.0.4.1"}

{"reqId":"XWhDd5NwMEnE5vBRUQgfxQAAAPc","level":3,"time":"2019-08-29T23:34:23+02:00","remoteAddr":"1.1.1.1","user":"user","app":"PHP","method":"GET","url":"\/owncloud\/apps\/maps\/contacts","message":"Invalid argument supplied for foreach() at \/var\/www\/owncloud\/apps\/maps\/lib\/Controller\/ContactsController.php#92","userAgent":"Mozilla\/5.0 (X11; Linux x86_64; rv:68.0) Gecko\/20100101 Firefox\/68.0","version":"16.0.4.1"}

@e-alfred could you open a separate issue for this? Cause this issue is already too long and we should have closed it with the release, which I will do now. :)

Thanks a lot for testing!

So I installed it as per instructions. Nextcloud 16, with no outstanding warnings. It seems nice, there is indeed a map to look at!

So far I have not got it to do much more than that. :) Personally I my simple ambition (for now) is to see my favorites AKA POIs AKA waypoints AKA routepoints (never really understood the difference), as created by Osmand in the form of a .gpx file.

So naturally I did Import from favorites and selected the .gpx file from files. No favorites appeared, but the Your favorites icon turned into a spinner. Waited a while. Reloaded the page, this brought a message to the effect of Wait a while till the next media scan!. Looked at the occ options and tried speeding things up with a occ maps:scan-tracks. Output showed that a few files were loaded. But nothing visible on frontend, although Your tracks now has a spinner too. :)

Anyway, maybe I just need to wait a bit. No error messages anyway, hooray! As you say, this is just the first version. Well done for all the hard work.

@Friptick thanks a lot for testing! If you find any more issues or have more info on the issue you described, please open separate issues for each problem. :)

Was this page helpful?
0 / 5 - 0 ratings