enterprisemediawiki / meza

Setup an enterprise MediaWiki server with simple commands
MIT License
41 stars 27 forks source link

Add Gantt charts #1281

Closed darenwelsh closed 3 years ago

darenwelsh commented 3 years ago

Gantt charts on SMW require the following:

  1. MediaWiki: 1.33+
  2. Semantic Result Formats: 3.1.0
  3. Mermaid: 2.0.0
revansx commented 3 years ago

Please know that there is a compatibility issue with mermaid and headertabs.

The issue is that mermaid charts (diagrams, gantts, etc.. ) don't render in header tabs other than the first one.

Not sure how hard this would be to resolve, but if anyone gets around to adding mermaid, it would be nice if this issues could be addressed as well. Thanks!

jamesmontalvo3 commented 3 years ago

There won't be a Meza 33.x version. The current very-beta 34.x branch still has a MezaCoreExtensions.yml file that enforces extensions for all installs, but that branch likely will not ever be a fully stable install. We'll likely go straight to a 35.x branch as the next stable release, and per #1264 we'll likely not enforce many/any extensions by default. Users can choose to add whatever extensions they want to their local config.

As such, I don't think we should have issues to add extensions to Meza. However, also per #1264, we will have Meza maintain a list of extensions that are supported, but that will require some automated way to verify the extensions function within the environment. SMW will obviously be on the list of supported extensions. @darenwelsh I think the intent of this issue is to add Mermaid to the list of supported extensions.

@revansx Can you link a Mermaid and/or HeaderTabs issue? Are you saying that independent of HT you can have many Mermaid elements, but if you have HT then (a) many Mermaid elements render but only in the first tab or (b) only the first Mermaid element renders regardless of how many there are and where the first or any others are located?

revansx commented 3 years ago

@jamesmontalvo3 - Now that VE is part of MW core I love the idea of MEZA 35.x being a base MW deploy only.

(fyi for my 34.x meza deploy I disabled the hard-coded "mwSimpleSamlAuth" extension in saml/tasks/main.yml add manually configured PluggableAuth and SimpleSAMLphp as LocalExtension.. That works very well. It does of course rely on MEZA to install simplesaml as meza installed recourse)

Regarding Mermaid and HeaderTabs.. "Case A" from your question above. Live Example here: https://emw-meza.site/emw/Mermaid_Issue_with_Header_Tabs

That said, as long as MEZA setups the server and server side tools like imagemagick and simplesaml.. I'm 100% on-board with dropping all MW extensions from MEZA core. We can add them back as optional pre-configured features in later versions, but for now the race is to get meza to deploy a base 1.35 wiki farm. Let me know how I can help.

darenwelsh commented 3 years ago

The reason I added this issue is to track the desire for Gantt charts as a feature in the wiki. I listed the 3 things I think we need in order to support that. We at our work currently don't have Mermaid installed, but instead someone copied the relevant javascript into Common.js. I tried to tag this according to other examples here in this repo to get it included in a release since I don't know the roadmap. Now if it's better to track this with an issue inside our firewall on GitLab that's fine by me, but I thought it made more sense here since it's not as simple as installing Mermaid on our specific instance of Meza.

jamesmontalvo3 commented 3 years ago

@darenwelsh I see that the latest stable SRF release (3.2.x) supports current Meza versions of MW and PHP. Meza currently has MW 1.31 and PHP 7.2. Meza currently has SMW 3.0.2, but the latest stable SMW (3.2.x) is also supported by current Meza. So submit a PR to bump SMW and SRF versions and once it's merged it'll be possible to install Mermaid via your MezaLocalExtensions.yml.

@revansx I don't have access to that site. Could you submit an issue for Mermaid and/or HeaderTabs? Mermaid you'd submit issues here. I'm not sure about HeaderTabs...Phabricator, I guess. Maybe @cicalese can help?

darenwelsh commented 3 years ago

It looks like our dev and int servers both track tags/31.13.0, so should I modify one to track master (I thought we did that at one point) or does this require another tag/release of Meza before it will be pulled to our servers?

jamesmontalvo3 commented 3 years ago

For us, prod must be pinned to a specific version. We don't want production to get unexpected changes. Our integration server should match production as accurately as possible (except when it has a change being considered for push to production), so it has the same requirements for specific versions. If you want to make dev (not dev2, which tracks 35.x) track master I have no problem with that.

darenwelsh commented 3 years ago

So assuming that the addition of Extension:Mermaid and testing on our dev server goes well, would the steps to get this onto int and prod be to make a new tag/31.14.0 with these changes and then update our local config-public to use that version of Meza (with a formal merge request coordinating the timing of that update to prod)?

jamesmontalvo3 commented 3 years ago

Yes, need a new Meza tag at the current master, so that int and prod can point to that version. As for doing a release, there's ./src/scripts/do-release.sh to help standardize it. But it's kinda buggy, per #1173. If all looks good I'll try to fix some of the things in #1173 and document how to do a release (maybe a video of doing it) for future reference.

jamesmontalvo3 commented 3 years ago

I created a 31.14.0 release, and did a video of it here

darenwelsh commented 3 years ago

Thanks! Where would be the best place to link to that video? Maybe in CONTRIBUTING.md?

jamesmontalvo3 commented 3 years ago

Works for me.

darenwelsh commented 3 years ago

I think this issue is closed thanks to tag/31.14.0