dotproject / dotProject

Stable 2 series
Other
207 stars 106 forks source link

Module development documentation #213

Open nbkhwjm opened 2 weeks ago

nbkhwjm commented 2 weeks ago

years ago I wrote a number of modules for dot project for use at work. Im back at a new job and id like to write another for a project. I recall there were some docs on module creation and maybe some recommended examples to look at.. do those docs still exist?

Glad to see some activity here. Its a great application...

GwynethLlewelyn commented 2 weeks ago

Unfortunately, I personally couldn't find much information on dotProject any longer :(

The Internet Archive, of course, still has some information, e.g. here. This was last updated in 2008 (AFAIK), but at some point, there was a "takeover" of the domain name, and when it was "recovered", the old website (again, AFAIK) was never restored nor a backup was made. That means that, for all purposes, I believe that all information was irretrievably lost, but I'd love to be proven wrong! 😁

The 2.X manuals are also available from SourceForge as well: https://sourceforge.net/projects/dotproject/files/dotProject%202.x%20Manuals/dotProject%202.x%20Manuals%20-%20PDF%20Format/

However, those are user manuals (I think), not developer manuals.

There are some random vaguely developer-oriented blog posts still maintained here: https://blogs.sakienvirotech.com/index.php/random/foss/dotproject/

... but these are hard to follow.

Finally, there is also a repository for community-contributed modules: https://sourceforge.net/projects/dotmods/

We ought to have these here on GitHub, too, but I'm afraid that would require the collaboration of @ajdonnison

ajdonnison commented 2 weeks ago

To be honest I'd completely forgotten about dotmods. About the only things that might be useful would be the language translations. Components that were considered generally useful were incorporated into the main project, while the rest are probably so out of date as to be considered worthless. I'd be happy to look at getting any modules you think are useful across to github.

As for developer documentation, I always found it more useful pointing people to existing modules to get an idea of how it all held together - and looking at the installer for how best to maintain updates, etc. While I can't be certain, there may still be some documentation around somewhere, I'll see if I can dig it up.

As to the site - it was hacked, and because it had become too expensive to keep all the components up to date, both in terms of money and time, I decided it was best to point people to github instead and just put up a simple static site that was more robust. Being able to put time into dotProject became more and more difficult, so the documentation that probably should be in a wiki here was left behind. If I can find a backup I'll see what can be salvaged and converted, if it is useful.

nbkhwjm commented 2 weeks ago

I've got a good start on using existing modules to develop a couple new ones, but there are some subtle connections used throughout the code from db entries in the modules table and variables in the code. Was hoping to avoid a more thorough forensic dig, but it will probably be instructive to do it anyway.

As far as usage vs other project management systems, it's being used as more of a customer / project documentation system than a planning tool. It was significantly more feasible to bolt in the parts we needed than to try and roll a new system.

I'm sure there are better systems out there for $$$ or cloud based subscriptions, but we can't use them for many reasons.

Honestly though, are there some significant concerns about resurrecting this code base beyond the eventual php update nightmares? I had great luck with it back in the early days, it was very helpful.

Thoughts?

-- chris

On Mon, Oct 28, 2024, 20:39 Adam Donnison @.***> wrote:

To be honest I'd completely forgotten about dotmods. About the only things that might be useful would be the language translations. Components that were considered generally useful were incorporated into the main project, while the rest are probably so out of date as to be considered worthless. I'd be happy to look at getting any modules you think are useful across to github.

As for developer documentation, I always found it more useful pointing people to existing modules to get an idea of how it all held together - and looking at the installer for how best to maintain updates, etc. While I can't be certain, there may still be some documentation around somewhere, I'll see if I can dig it up.

As to the site - it was hacked, and because it had become too expensive to keep all the components up to date, both in terms of money and time, I decided it was best to point people to github instead and just put up a simple static site that was more robust. Being able to put time into dotProject became more and more difficult, so the documentation that probably should be in a wiki here was left behind. If I can find a backup I'll see what can be salvaged and converted, if it is useful.

— Reply to this email directly, view it on GitHub https://github.com/dotproject/dotProject/issues/213#issuecomment-2442988509, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACSPP5MN7MNPICX677DO34DZ53RLVAVCNFSM6AAAAABQWOVYXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBSHE4DQNJQHE . You are receiving this because you authored the thread.Message ID: @.***>

ajdonnison commented 2 weeks ago

One concern I have is that it is all in a readonly CVS repo on sf.net, so there is a bit of work to do to get it across. And as I say some of the code there is not worth bothering about, so I'd have to go through that and work out what needs to come across. As an example a quick look shows at least two French and two Italian locale projects. Of the locales, the only one that I know was extensively worked on by the community was the Brazilian Portuguese. They are not PHP dependent so they would be easy to get across, from memory. Mind you this project is now over 20 years old, so my recollections may not be all that accurate.

As an example, I do have a database dump of most of the sites, however I have no idea what version of the software they relate to was running so I have no easy way of getting the content out for the docs, for instance.

I'm not going to promise anything as I don't get a lot of time to work on any FOSS these days, but I'll look to see what I can get across.

UPDATE having another look there are NINE French translations! Not really sure what to do with that lot. I guess just pick the one with the most translated.

fatabek commented 2 weeks ago

I think dot project is one of the best software for project management and tracking. It has very comprehensive modules. Since it even has its own file management, it does not need functions such as cloud etc.

I use a lot of software due to my profession. The biggest problem I have with the software I use is that a software offers features that it can offer on its own, even if they are simple, together with other software (for example, file sharing etc.). Because when you use two or more software integrated and one of them is updated, you have to wait for the others to update in order to switch to the new version. (This is especially a big problem with security gaps). Another example is that one of the integrated software stops developing.

Although dotproject is not perfect because of all these, I think it is one of the best (in fact, I think it is the best) software because it offers all the components together for project management.

I have also never come across a software that offers such an easy, accurate and alternative ACL. (I would like to state that I am making this comment as someone who has been in the computer and software world since the last quarter of the 1980s. Although this is a completely different topic of discussion, I also stopped working with software when Windows became widespread.)

Thank you very much to those who contributed.

ajdonnison commented 2 weeks ago

@fatabek thanks for that. The ACL part was a big piece of work that took a lot of time and effort to get right, so I'm glad that you appreciate it.

ajdonnison commented 2 weeks ago

@GwynethLlewelyn @nbkhwjm I've managed to get all of the locales set up as separate git repos. I'll work through the modules in dotmods as I get time and move them across once I check that they aren't already in the main codebase.

I have tried to get the documentation site data out in a format that I can then use to put into the wiki, but so far not having a lot of luck getting a compatible version of mysql, php and mediawiki to match the SQL dump I have. It would be great if I could find a valid backup of the filesystem, but at this stage it isn't looking hopeful.

ajdonnison commented 2 weeks ago

First cut of retrieved developer documentation: https://github.com/dotproject/dotProject/wiki/Module-Development

I'll try and get more done in the coming weeks, but it is a bit of a hassle to get the data out, then convert to markdown.

nbkhwjm commented 2 weeks ago

That's perfect information, i appreciate your efforts..

-- Chris

On Thu, Oct 31, 2024, 00:27 Adam Donnison @.***> wrote:

First cut of retrieved developer documentation: https://github.com/dotproject/dotProject/wiki/Module-Development

I'll try and get more done in the coming weeks, but it is a bit of a hassle to get the data out, then convert to markdown.

— Reply to this email directly, view it on GitHub https://github.com/dotproject/dotProject/issues/213#issuecomment-2449034656, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACSPP5JA4WXYJBOC7TW4DZ3Z6G5UXAVCNFSM6AAAAABQWOVYXOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDINBZGAZTINRVGY . You are receiving this because you were mentioned.Message ID: @.***>

GwynethLlewelyn commented 2 weeks ago

YAY! 🥳 🎉

I've been also busy in the past days desperately trying to extract more old info from the Wayback Machine (stored at archive.org). The "new wiki" is there (several snapshots), and possibly the "old wiki" (the one still done with DokuWiki and not with MediaWiki) as well — I haven't checked. Figuring out how to extract all data for a specific snapshot is... painful. But I think I got a way. Then it's just to confirm that all links are pointing correctly to the expected places,
filter them through pandoc and convert them to Markdown,
... and do some extra polishing, if needed.

I believe I've got the essential 'raw' information after these days of banging my head against walls, but I still need to do a few extra tests, then I can submit a PR on what I've been able to convert so far.