Sharing code and maintenance of a non-trivial wiki app

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Sharing code and maintenance of a non-trivial wiki app

Aaron Fuleki
Hey fossies,

I'm preparing to share the code (and hopefully maintenance) of a rather complex wiki app. In the past, the apps I've shared have been simple enough to just email people a zip file. This one however is big, needs multiple plugins, quite a bit of JavaScript, and I'd like to host it on github.

What's the current consensus (if there is one) on best practices for wiki app packaging, version control, etc.? There seem to be a few plugin/contrib things floating around (WikiWorkbenchContrib looks nice), but I'm not sure how much refactoring I'd need to get in line with expected best practices.

Regarding shared development, my initial idea was just to create a Github repo, employing the creative use of .gitignore and rsync to separate app topics from data topics (e.g., all the AUTOINC'd files ending in numbers).

As a bonus, I'd like to automate deployment as much as possible, so folks could download the FW 1.1.9 VM, checkout the app from Github, then follow minimal instructions to get it going. Maybe I'm trying to recreate the plugin/contrib installer wheel with that, though.

-Aaron

-------------------------------------------
Aaron Fuleki
Business Intelligence Analyst
Denison University
740.587.5752
-------------------------------------------

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Foswiki-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/foswiki-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Sharing code and maintenance of a non-trivial wiki app

Crawford Currie
Hi Aaron,

The recommended way to distribute an app is using the BuildContrib; it's not hard to set up, basically all you need is a Foswiki-like directory structure, a MANIFEST, and a very simple build script, and the BuildContrib does the rest, including building an installer script.

See http://foswiki.org/Extensions/BuildContrib for a detailed description.

Normally if I'm starting a new Extension, I use the create_new_extension script to to the inital setup, then move in the files that comprise the app, then use pseudo-install.pl to install them in my dev environment for testing. Sounds dauniting, but it's really quite straightforward.

BuildContrib is independent of the version control system; you can use it with svn or git as you please.

C.


On 10/04/14 17:39, Aaron Fuleki wrote:
Hey fossies,

I'm preparing to share the code (and hopefully maintenance) of a rather complex wiki app. In the past, the apps I've shared have been simple enough to just email people a zip file. This one however is big, needs multiple plugins, quite a bit of JavaScript, and I'd like to host it on github.

What's the current consensus (if there is one) on best practices for wiki app packaging, version control, etc.? There seem to be a few plugin/contrib things floating around (WikiWorkbenchContrib looks nice), but I'm not sure how much refactoring I'd need to get in line with expected best practices.

Regarding shared development, my initial idea was just to create a Github repo, employing the creative use of .gitignore and rsync to separate app topics from data topics (e.g., all the AUTOINC'd files ending in numbers).

As a bonus, I'd like to automate deployment as much as possible, so folks could download the FW 1.1.9 VM, checkout the app from Github, then follow minimal instructions to get it going. Maybe I'm trying to recreate the plugin/contrib installer wheel with that, though.

-Aaron

-------------------------------------------
Aaron Fuleki
Business Intelligence Analyst
Denison University
740.587.5752
-------------------------------------------


------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees


_______________________________________________
Foswiki-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/foswiki-discuss


--
Crawford Currie - Owner, C-Dot Consultants - landline: +44-1606-330-242 - mobile: +44-7837-877-956 - skype: cdot-uk - public key http://keyserver.veridis.com:11371/search?q=Crawford+Currie

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Foswiki-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/foswiki-discuss
Reply | Threaded
Open this post in threaded view
|

Re: Sharing code and maintenance of a non-trivial wiki app

Aaron Fuleki
Thanks, Crawford. Both for your many contributions to Foswiki, and a remarkable polite RTFM!

I completely forgot about  BuildContrib. 


-Aaron

On Apr 10, 2014, at 2:02 PM, Crawford Currie <[hidden email]> wrote:

Hi Aaron,

The recommended way to distribute an app is using the BuildContrib; it's not hard to set up, basically all you need is a Foswiki-like directory structure, a MANIFEST, and a very simple build script, and the BuildContrib does the rest, including building an installer script.

See http://foswiki.org/Extensions/BuildContrib for a detailed description.

Normally if I'm starting a new Extension, I use the create_new_extension script to to the inital setup, then move in the files that comprise the app, then use pseudo-install.pl to install them in my dev environment for testing. Sounds dauniting, but it's really quite straightforward.

BuildContrib is independent of the version control system; you can use it with svn or git as you please.

C.


On 10/04/14 17:39, Aaron Fuleki wrote:
Hey fossies,

I'm preparing to share the code (and hopefully maintenance) of a rather complex wiki app. In the past, the apps I've shared have been simple enough to just email people a zip file. This one however is big, needs multiple plugins, quite a bit of JavaScript, and I'd like to host it on github.

What's the current consensus (if there is one) on best practices for wiki app packaging, version control, etc.? There seem to be a few plugin/contrib things floating around (WikiWorkbenchContrib looks nice), but I'm not sure how much refactoring I'd need to get in line with expected best practices.

Regarding shared development, my initial idea was just to create a Github repo, employing the creative use of .gitignore and rsync to separate app topics from data topics (e.g., all the AUTOINC'd files ending in numbers).

As a bonus, I'd like to automate deployment as much as possible, so folks could download the FW 1.1.9 VM, checkout the app from Github, then follow minimal instructions to get it going. Maybe I'm trying to recreate the plugin/contrib installer wheel with that, though.

-Aaron

-------------------------------------------
Aaron Fuleki
Business Intelligence Analyst
Denison University
740.587.5752
-------------------------------------------


------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment 
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees


_______________________________________________
Foswiki-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/foswiki-discuss


--
Crawford Currie - Owner, C-Dot Consultants - landline: +44-1606-330-242 - mobile: +44-7837-877-956 - skype: cdot-uk - public key http://keyserver.veridis.com:11371/search?q=Crawford+Currie
------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Foswiki-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/foswiki-discuss

------------------------------------------------------------------------------
Put Bad Developers to Shame
Dominate Development with Jenkins Continuous Integration
Continuously Automate Build, Test & Deployment
Start a new project now. Try Jenkins in the cloud.
http://p.sf.net/sfu/13600_Cloudbees
_______________________________________________
Foswiki-discuss mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/foswiki-discuss