ecamp/ecamp3

Activity Attachments (Marschzeittabelle, SiKo, other Files)

Closed this issue · 5 comments

In our organisation we need to create specific documents for some activities. Currently we still use SharePoint for everything, but I want to migrate to eCamp in the future. Storing the documents on two different platforms would be sub-optimal in my opinion, so it would be nice if everything program-related could be stored on eCamp. We usually have the following types of documents:

  • Hiking time calculation (Marschtabelle / Marschzeittabelle / MZT)
  • Hiking route as a SchweizMobil pdf printout
  • Safety concept (Sicherheitskonzept/SiKo), a word document with 2-10 pages, including headings, tables, images, etc.

I see people struggling to write MZTs correctly every year because it's a pretty tedious work (you have to choose your points wisely so no height difference gets "lost" and then you have to manually measure distance and height deltas between those points). All that work could be automated.

Allowing file attachments would also be pretty useful, but would mean a much greater usage of storage resources. Maybe eCamp can use APIs of SharePoint/Dropbox/GDrive where the organisation can provide a directory where eCamp can store the files.

I have some experience in writing MZTs and displaying SwissTopo maps in JS, so I can see myself implementing the MZT feature (maybe not tomorrow, but this year), but I need at least some infrastructure and decisions on how it should be integrated.

Thanks for compiling this issue! I see a few separate topics in here.

About the Marschzeittabelle: We have previously discussed the option to add an MZB content to activities in the future (which you could add when changing the layout of an activity). This has always been clearly post-MVP (3.X) territory for us, so if at all we would tackle this after the course features have been completed.
However, automating the MZB creation is a whole different topic, and there are already at least two open source tools available for this: https://map.cevi.tools/ by CEVI Schweiz, written in Python and Angular, featuring an automated points selection algorithm, as well as https://marschzeittabelle.ch/ by an independent scout developer, written in Svelte, but so far without any automated points selection. I would suggest you contribute to one of these tools if you are interested in the topic, instead of creating a third "competing" tool. I have previously contributed code and issues to the Cevi tool myself, and there is a lot more complexity involved than it seems from the outside.

About file attachments: I (and, according to the last time we discussed this, the eCamp core team as a whole) disagree with your sentiment "Storing the documents on two different platforms would be sub-optimal". eCamp should not and cannot be the single tool used during camp planning. Clear examples for this are the management of participants, which you will always have to do on MiData, or creating a budget or a menu for your camp, which is also clearly out of scope for eCamp (but other tools exist which you can use for this purpose). For similar reasons, we do not want to create a file storage solution within eCamp: Too much of our volunteer developer time would be consumed for implementing and maintaining this, and the solution we could develop would always be worse than other, freely available storage solutions.

For both topics, interoperability with other tools would of course be interesting. Allowing to reference an MZB created in an external tool, syncing the start and end time of your hike into the external MZB tool, exporting eCamp PDFs to external storage providers, displaying images stored on external storage providers in eCamp programme etc. all sound very interesting, but also seem very complicated to implement given the current status (or absence) of the APIs of these tools. Keep in mind that the eCamp Core Team, a team of volunteers, needs to maintain this solution, so we will think twice about introducing code into eCamp which might be broken every few months due to API changes, AGB changes or billing changes by large companies like Microsoft, Google or Dropbox.

So for now, the easiest solution we see is to not think of eCamp as "the one single tool used for camp planning". Instead, you can use Sharepoint (or similar) as the center of your camp planning, and occasionally upload the current eCamp PDF onto there, next to separately created MZBs, hiking routes, SiKo, budget and other documents. Or maybe consider using the PBS portal as the single "platform" for everything related to camp planning, and jumping to eCamp, Sharepoint, MiData and other tools you use from there.

This principle of many smaller tools working together is not only our idea, but is also the approach mandated by PBS in their IT guidelines:

  1. Jedes IT-Tool hat einen definierten, möglichst begrenzten thematischen Zweck. Dies erleichtert die Ablösung.
  2. Von der Bundesebene betriebene oder unterstützte IT-Tools sollen über Schnittstellen (APIs) untereinander vernetzt werden können. [...] IT-Tools beziehen fremde Daten über die zur Verfügung gestellten Schnittstellen.
    https://scout-ch.github.io/it-guidelines/#/priciples

Hi and thank you for the quick reply!
A few months ago googled for MZT tools, but somehow did not find map.cevi.tools and marschzeittabelle.ch. The map.cevi.tools seems to work pretty well, which means that MZT integration in eCamp is not that high-priority to me anymore. Of course it would be nice to have a link in an activity detail view in eCamp to jump into map.cevi.tools and when the user has created the MZT there, the result would get transferred back to eCamp.

I also understand your arguments about the file attachments. Keeping the scope of eCamp only in areas for which no other solutions exist is probably smarter than trying to do a bit of everything.

@bb1950328 Thanks for your feature request.

I'm one of the maintainers of https://map.cevi.tools. We are happy to help with some integration of our tool into eCamp3. I've opened cevi/automatic_walk-time_tables#358 on our project, describing some ideas and prerequisites on our side for such a link-based integration. Feel free to leave any comments.

Core Meeting Discuss

We think the original request has been answered. We would like to discuss MZT integration directly with @wp99cp.