User:Aeric/Writing and Publishing Guide
Standard Tasks
- As new release dates are announced in meetings, add them to the list of Upcoming Releases
- Get information on new features from developers
How to Do Stuff
- Many things are accomplished using the Wiki Templates. Browse them to see what they do:
- Sidebar > toolbox > Special Pages > All Pages
- Namespace: template
- [Go]
- Of particular interest:
- Template:Cheatsheet -- usage instructions for some useful templates that have similar names
- Template:Variables -- a listing of variables defined in LocalSettings, and their values in the current skin
- Of particular interest:
- Also see User:Aeric/tests for interesting bits of wiki lore and examples of how to do things.
- This file contains snippets of wiki code: MediaWiki_Notes.txt
- I inherited a similar file, but it was too large to use.
- So I started one of my own, accumulating tidbits as I learned them or found them in the wiki.
- It started out small, and was very handy.
- Over time, though, it grew too large for anyone else to use!
- So you're encouraged to collect your own set of notes, unless you happen to be able to make sense out of that one.
- --eric
Release Model
- Dated Cloud Releases
- The platform running in the cloud is updated at 2, 3, or 4 week intervals.
- When an update occurs, the features previously regarded as "Coming Soon" are added to the Release Notes, with a date to indicate when the update occurred.
- Versioned ISV Releases
- When a new "installable version" is released, a snapshot of the dev wiki is taken.
- The snapshot is given a version number.
- The help link in the installable version points to that wiki so that, as features evolve in the cloud, accurate help remains available for the (now down-rev) installed platform.
- For the cloud release: publishDevWiki
- For the ISV release: versionAgileAppsDevWiki
- On rare occasion when things have been added to dev wiki that are not included in ISV release:
- versionAgileAppsProductionWiki
- Wikis
- ljwiki -- LongJump wiki in the cloud
- lj{###} -- Versioned LJ ISV wiki (ex: lj100)
- aadev -- pre-release AA wiki
- aawiki -- AA wiki in the cloud
- aa(###} -- Versioned AA ISV wiki (ex: aa100)
- Help Links
- The help link in the cloud points to the appropriate wiki:
- AgileApps ==> http://agileappslive.info/wiki, which references the aa_wiki.
- LongJump ==> http://lj.platformatyourservice.com/wiki, which references ljwiki.
- Help links in the installable versions point to a versioned wiki:
- AgileApps ==> http://agileappslive.info/aa100 (for example)
- LongJump ==> http://isv.platformatyourservice.com/lj100 (for example)
- (Note that the "isv" subdomain is used for the versioned wiki, to activate the "whitelabel" skin.
Ordering Tasks
These are the possible values for the doc task fields. At the moment, they map imperfectly to the manual procedures outlined below:
- Target - which version of the platform is affected.
(Selects the column in the manual procedures)
- AA Only - Applies to AgileAppsLive only
- LJ Only - Applies to LongJump only
- AA & LJ - Applies to both AgileApps and LongJump
- Target - which version of the platform is affected.
- Audience - This setting creates a partitioning into sets of things that are related to each other.
(The most important partition is at the top. Others come in the order shown.)
- User-Designer - For docs read by users, sys admins, and/or application designers.
- --This is really an audience designation. Separating into the 3 different kinds would be good.
- API-Dev - An API change or feature that affects developers.
- --Another audience designation, for the 4th kind of reader.
- Code - Generally an enhancement request that contains a code sample to include.
- --In terms of a full matrix, it's audience=Developer, doc type=Enhancement.
- Install - An installable version feature or installation note.
- --Audiencetype #5: Installer. Could be a feature, enhancement, cosmetic fix, or bug fix.
- Audience - This setting creates a partitioning into sets of things that are related to each other.
Merging the audience settings above with the activities below is tricky.
- For example, the "ISV feature" activity below is just audience=Installer, activity=New Feature.
- BUT, in terms of prioritizing, ISV features only become important when an ISV Release is near.
- So the order in which things need to be addressed is actually a partial-ordering that is produced by a set of compound conditions:
- If target=AA Only or target=AA and LJ:
activity \ audience: User Designer Sys Admin Developer Installer Bug Fix 10 12 14 16 18 Cosmetic Fix 20 24 30 34 62 New Feature 22 26 32 36 64 Enhancement 68 Release 50 70 Doc Enhancement 90 92 94 96
- If target=LJ Only:
activity \ audience: User Designer Sys Admin Developer Installer Bug Fix 10 12 14 16 18 Cosmetic Fix 62 New Feature 22 26 32 36 64 Doc Enhancement 68 Release 50 70 Cosmetic Fix 80 82 84 86 Enhancement 90 92 94 96
- Notes:
- Rules should be applied on record update only when ISCHANGED is true for one of the independent fields in the ordering equation (activity, audience, or target), using the expression:
- OR(ISCHANGED(activity_766224774), OR(ISCHANGED(target_766224774), ISCHANGED(doc_type_766224774)))
- where doc_type_766224774 is the audience field
- Notes:
- They should also execute only when all three fields are non-empty, using the expression:
- NOT(OR(ISNULL(target_766224774), OR(ISNULL(activity_766224774), ISNULL(doc_type_766224774))))
- The ordering values create priority-partitions. Within each partition, the order is AA, then AA/LJ, and then LJ--primarily to keep similar kinds of tasks together.
- The tricky bit is that the priority matrix changes as a release draws near. So, for a complete ordering that reflects current circumstances, there should be multiple priority matrixes, with the ability to choose the one that is currently in effect. (But the need for that feature evaporates if the task list can be kept short.)
Manual Procedures
These procedures are manual. The procedure to use depends on the type of activity and the target of that activity (i.e., the product it applies to).
Bug Fix
P1=feature not usable.
AgileApps LongJump - Fix AA dev wiki (aadev)
- Fix AA cloud wiki (aawiki)
- Fix current ISV wiki (aa###)
- Fix LJ cloud wiki (ljwiki)
- Fix current LJ ISV wiki (lj###)
Cosmetic Fix
(typos, wording, better text)
AgileApps LongJump - Modify the AA Dev wiki.
(Changes will migrate at next dated release.)
- Skip small "cosmetic" improvements.
- Modify the AA Dev wiki.
Enhancement
(New page, vastly improved page, PDF article update.)
AgileApps LongJump - Modify the AA Dev wiki.
(Changes will migrate at next dated release.) - For a big new page or update to a PDF, add an entry to the "New in the Docs" list in the dev wiki Release Notes.
- When an equivalent AA page is reorganized:
Reflect the reorg in the LJ wiki to ensure that future changes can be made without difficulty. - Skip all other AA improvements as "cosmetic".
- Modify the AA Dev wiki.
New Platform Feature
Activity | AgileApps | LongJump |
---|---|---|
New Platform Feature |
Add to Dev wiki: http://agileappslive.info/aadev For release notes:
For a new page:
</syntaxhighlight>
|
|
Cloud Release
Activity | AgileApps | LongJump |
---|---|---|
Cloud Release (Dated) |
|
There is nothing else to do for a LJ release. (By choice, the wiki always reflects the latest new features, even if they're not out yet.)
|
New ISV Feature
Activity | AgileApps | LongJump |
---|---|---|
New ISV Feature -or- Installation Note |
|
|
ISV (Versioned) Release Prep |
|
ISV Release
Activity | AgileApps | LongJump |
---|---|---|
ISV Release |
Final cleanup:
In AA Dev wiki:
After the versioning script completes:
Post announcement to the AgileApps Yammer Group. Modify Readme for SAG Empower page:
Send global documentation link:
Post-release follow-up:
|
|
Sample Announcements
Sample Release Blurbs for Yammer Group
Note: When I put in a link to current release notes, as here:
http://agileappslive.info/wiki/Release_Notes, then the paragraph Yammer would have found on 17 Jan is displayed. It's not showing the paragraph at the top of the most recent version of the page.The workaround is to leave "Release_Notes" off of the URL. That causes the first paragraph from the main page to appear. "Release_Notes" can then be added back, leaving at least a semi-meaningful blurb on the page.
Cloud Release Blurb
- Date the blurb for the day after the wiki is published.
(The wiki is published the day of the actual release, but the actual release may not happen until late in the evening--so we always tell customers that the release will be available the next day. The blurb should do the same.) - Post the blurb to the Yammer AgileApps Group
A new version of AgileApps Live will be in the cloud on Sat, xx YYY 2014.
Highlights include preference settings to determine how records are displayed, email signatures, editable subforms, external lookups, external data sources, and fault handling for web services, plus documentation enhancements.
Learn more: http://agileappslive.info/wiki/Release_Notes
ISV Release Blurb
- Post the blurb to the Yammer AgileApps Group
Version ##.# of the AgileApps Live installable is available at empower.softwareag.com
Highlights include ...
Learn more: http://agileappslive.info/***ISV_WIKI***/ISV_Release_Notes
Note: Don't include the https:// to make a link that goes to the Empower site. Once you do, there does not seem to be any way to get Yammer to recognize the Release Notes link. (It looks like it will handle only one link at a time, and the https:// always dominates, whether it is added first, second, or together with the other.)
HTML code for documentation.softwareag.com
Under source control at techpubs/release_blurbs:
- <syntaxhighlight lang="html4strict" enclose="div">
AgileApps Live:
<a href="http://agileappslive.info/wiki"> AgileApps Live in the Cloud </a>
<a href="http://agileappslive.info/aa101/ISV_Release_Notes"> AgileApps Live Installable Version 10.1, for on-premise installations </a>
</syntaxhighlight>
Scripted Procedures
These procedures are accomplished by logging in to the Wiki platform and running a script.
Publishing the AA Dev Wiki
First, prepare the development wiki for publication. Then execute the publishing process.
Preparation:
- Find and fix all transclusions of Template:TBD
- In the dev wiki, change the Coming Soon heading to reflect the release date.
http://agileappslive.com/aadev/Platform_Features - Leave unimplemented entries under Coming Soon or, if there are none, comment out that section
Publication:
- Using PuTTY, log in to the Rackspace server
- Run scripts/publishDevWiki to copy the contents of the
development wiki (aadev) to the production wiki aawiki- This process makes a backup of the production wiki.
- If there is ever any need to revert to a previous version,
run scripts/restoreWikiInstructions for a list of steps
Wiki Backups
- A MediaWiki site contains a number of wiki files and a database.
- The PHP files and wiki content files are in the {wikiName}/ directory.
- Each Wiki has its own database.
The database contains page contents and edit history. Data is exported to a .sql file using mysqldump, and imported using mysql. - This script makes a dated zip file that contains the .sql file and the aadev directory folder:
- ./scripts/backupDevWiki
- The archive of database backups maintained on the server is at /usr/share/mediawiki/archive.
To back up the development wiki:
- Using PuTTY, log in to the Rackspace server
- Run scripts/backupDevWiki to create the backup file (dev_backup_<date>.zip) in the archive/ directory.
- Use FileZilla to download the backup to the local system
Wiki Versioning
When a major new release of the platform's Installable Version occurs, a point-in-time snapshot of the current wiki needs to be captured, for continued reference by an on-premise installation that won't have features that were added later, to the platform running in the cloud.
To make that work, the help link in the cloud instance points to .../wiki, while the help link in the installable points to .../{version}. Eg. .../aa90
To make that version:
- Using PuTTY, log in to the Rackspace server
- Run scripts/versionProductionWiki to create the new Wiki version
- Follow the instructions at the end of the script to add a version number to the wiki header image and favicon.