Closed DavidMStraub closed 2 years ago
That seems reasonable, to make it a formal part of the Gramps organization and call the combined solution the "Gramps Web UI" or something to that effect.
We can give a name to the collaborative genealogy web app that is Gramps Web API as backend and Gramps.js as frontend.
@DavidMStraub For simplicity there should be only one name for both components (frontend & backend) which is communicated to users. The name could start with "Gramps" so users can easily recognize it as a part of gramps-project as @cdhorn already suggested it. The second part of the name could be the plattform, so users can easily understand where they can use it.
Example naming scheme:
Gramps
or Gramps Desktop
=> Gramps running on my PCGramps Web
or Gramps Online
=> Gramps running in my browserGramps Mobile
=> Gramps running on my smartphone (Maybe in future)Set up 1 click hosting for XXX [...] it would allow users to host the app without worrying about setting up Docker.
That would be perfect for usability.
Yes, I agree Gramps Web would be a fitting and catchy name.
Since we're all interested in history :wink:, some related historic names of stalled projects:
Doug Blank came up with a few suggestions in his post "First pass on a Django Data Model complete" from 2009.
The Gramps Online project never progressed very far.
So, my suggestion to proceed would be as follows:
https://github.com/gramps-project/gramps-webapi
stays the same but the /docs/
directory and Github pages are removedhttps://github.com/gramps-project/web
is opened for the sole purpose of hosting the documentation for "Gramps Web", i.e. gramps-webapi and Gramps.js, via Github pages (short repo name in order to have a short URL web.gramps-project.github.io
). It starts with the /docs/
directory of Web API and is later filled with sections about frontend usage and developmenthttps://github.com/DavidMStraub/Gramps.js
is moved to https://github.com/gramps-project/Gramps.js
:+1:/:-1:?
On a strategic level, what is desired?
If you want it to really take off, there needs to be a path for commercial cloud farming... like MediaWiki allowed Internet Service Providers to farm WIKIs. (Or the way WordPress & Drupal CMS server farms came into existence.)
Those ISPs get paid for providing a blank ready-to-populate wiki site, the labor maintaining/updating/archiving the MediaWiki framework, helping clients troubleshoot add-ons, restoring from backup, there are scalable fees for the bandwidth, storage capacity, pipeline diameters. The novice clients only worry about gathering & uploading content and tweaking themes.
So, what do we get? Optimization.
Profit is not our motivation, but it is theirs.
Every unnecessary minute doing maintenance, every burned cycle of server processing, every avoidable byte of FTP, every redundant byte of storage costs an ISP sweat & money. So their CTOs analyze how to make farms more efficient/profitable and workers find ways to make the work easier.
They might work on making Gramps source Pyjion compatible for better speed on .NET servers. They might write DB backends for high-performance DB engines. They might write tools for Media synchronization with delta-compares to minimize FTP. They might write a tool to collate Media scattered across a local network to a hierarchy in a single FTP folder. They might make images of Gramps installation to repair a corrupted Gramps core without affecting content, themes or continuity of access. They might find ways to make a Gramps handshake with a blank (or outdated) online Gramps instance and fully populate it with a single "synchronize" click. They might find a way to make an upload work in the background... flowing initial data in JIT fashion. So that a new user can see just enough data to work on configuring the look&feel of their online presence while the remainder of the tree uploads.
(PortableApps has done some admirable work divorcing Gramps data & plugins from fixed paths under 32-bit Windows. Hopefully, this will roll back into the main. Adding portable Linux, macOS, & 64-bit Windows versions would allow a single DVD/Thumbdrive to archive a person's Genealogy Research which would be accessible on any computer without any installation.)
Gramps has scalable online solutions making Gramps attractive to ISPs for upselling services to clients:
For the future, it may be necessary to look at how the web version of Gramps will have to evolve to minimize maintenance downtime.
Hosting & deployment are important topics, yes. An end goal could be to have a shared server hosting many trees at once. This would minimize the cost for the individual user. But in the near term, I agree the goal should be to make it as easy as possible to host a single instance in the cloud. The challenge is a bit different from MediaWiki or Wordpress since we can't run on a usual PHP + MySQL stack, but we need docker hosting. I think PhotoPrism is a good example how to do it, see here for their documentation of DigitalOcean 1-click app hosting.
However this is a bit off-topic for this issue - let's hear @Nick-Hall's opinion about the proposal above: https://github.com/DavidMStraub/Gramps.js/issues/49#issuecomment-977154961.
We can continue discussing deployment options over at https://github.com/gramps-project/gramps-webapi/issues.
I don't mind creating a new repository for the front-end code. We could even promote it as a recommended application.
Why do you want to remove the API documentation? This would be useful for anyone developing their own web application.
Yes, I fully agree the documentation is very important. The suggestion is to host the user documentation, backend and frontend development documentation in the same place (web.gramps-project.github.io). So the docs directory would just move to another repository where also the frontend docs would be added.
OK. Whatever is easiest for you.
@Nick-Hall, I tried to transfer the Gramps.js repository to the gramps-project
org but it didn't work as I don't have permissions to create public repositories in the organization. Would you mind granting this permission to all organization members? (https://docs.github.com/en/organizations/managing-organization-settings/restricting-repository-creation-in-your-organization) I could then transfer Gramps.js and also set up the new gramps-project/web
documentation repository.
The repositories have been moved/created and I started reorganizing the documentation on the new documentation site: https://gramps-project.github.io/web/. Closing this issue!
This is more of a strategic question than a technical issue, but I'd like to kick off a discussion about how we should evolve Gramps.js & the Gramps Web API in the next, say, 1-2 years. As described in this post, I think the projects have made really good progress in the last months, approaching a point where they become a broadly usable web app for collaborative genealogy.
I think it was a good choice having an app-agnostic and Python-based web API with as much reuse of Gramps library code as possible, and a pure Javascript frontend based on web components. This makes it much easier to spawn new projects if someone feels like it (a mobile app with the web API as backend, a different frontend reusing some of the web components, ...), or to get rid of some parts when it turns out they are not needed anymore.
However, from forum/issue discussions and from trying to come up with an understandable documentation, I am getting the impression it is really hard for users to understand how it all fits together. And it would be a pity scaring off potential users by requiring them to delve into architectural issues they shouldn't care about.
So, while I wouldn't change anything about the project layout, I would suggest some changes in presenting the project(s).
gramps-project
Github organization to more easily move issues between the twoApart from simplifying documentation, having a single name for the app would also allow to do some things that would make it easier for potential users to find and adopt the app:
Thoughts?
@Nick-Hall, @cdhorn, ...