Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Modeling Project Releng/Website Maintenance
Contents
Homepage Copy
Component owners can edit their own website copy if they are members of the group modeling-home
. If they're not they can open a bug, cc: their PMC for approval, and request access from the webmaster. You r bug could, for example, be called:
Please add user jcote to group modeling-home for website maintenance
To edit website copy, check out the web content module from /cvsroot/org.eclipse
:
www/modeling/emft/componentName
Then look at these files:
project-info/project-page-paragraph.html (short blurb) project-info/overview.html (detailed page)
As to what content can be put on the site, look at other Modeling project components for examples:
- http://www.eclipse.org/modeling/emft/?project=compare#compare
- http://www.eclipse.org/modeling/emft/?project=search#search
Note that there's at least a 30-second lag before content appears after committing new files or changes.
Build UI
As above, content lives in /cvsroot/org.eclipse/www/modeling/emft/projectName. Copy these three files over from some other component's build/ folder, then edit _common.php
to suit your needs.
build/_common.php (contains shared properties) build/index.php (to run a build) build/promo.php (to promote a build)
Once these files are in CVS, you can extract them into /var/www/html/modeling/emft/projectName/build on your build server like this:
$ cd /var/www/html/modeling/emft/; cvs -q up -Pd
Adding new dependencies
- If your build depends on another component that's not listed, see Where is ${fooURL} defined?, and contact your release engineer for assistance.
- If your build depends on a newer version of a component that is listed, just add the URL in the empty box below the list of already-defined URLs, and your build will use that new one. You can add several at once. You can also add dependencies without actually running a build by first clicking the 'preview build' button on the top-right corner of your build page, then running a "Preview Build". This will not run a build, it will only show you the command that will be run. If you're not sure what all the build options do, this is one way to explore them.
Filtering dependencies
You can set a regex pattern in your build page's _common.php, which allows your build page to be automatically filtered to preselect only the most recent dependencies for your build.
So that your component is properly listed and will appear on the homepage, downloads, release notes, be sure to edit your parent project's _projectCommon.php
file, eg. /cvsroot/org.eclipse/www/modeling/emft/_projectCommon.php
.
Be sure you add yourself to these arrays, as appropriate:
$projects = array( ... ); $cvscoms = array( ... ); $nodownloads = array(); //components with no downloads available yet $nonewsgroup = array(); //components without newsgroup $nomailinglist = array(); //components without mailinglist $incubating = array( ... ); // incubating components (everyone starts here)
Downloads Page
The Build Dependencies subsection under each build on your downloads page shows what each requirements were used for each build.
If you would like to provide more information to help your users, you can add a header or footer to the page, similar to EMF's "Getting Started" header or Validation's "Questions?" footer.
- To enable a header, add a method called doRequirements() into
www/modeling/$projectName/downloads/extras-$subprojectName.php
. - To enable a footer, add a method called showNotes() into
www/modeling/$projectName/downloads/extras-$subprojectName.php
.
Previewing / Testing
Updating Build Server
Once your changes are in CVS, contact your build server admin and point him here. You'll need to provide your static IP or domain name in order to be able to ssh to the build server through its firewall.
Maintaining CVS Synch
Currently, changes to CVS repositories (/cvsroot/modeling, /cvsroot/org.eclipse) are not automatically checked out onto emft.eclipse and modeling.eclipse. To run a manual update, add the following lines to you ~/.alias file (create it if non existant):
alias W='sudo -u apache' alias bms='cd /home/www-data/build/modeling/scripts/' alias www='cd /var/www/html/modeling/' alias synchwww='curr=$PWD; www; synch; cd $curr' alias synchbms='curr=$PWD; bms; synch; cd $curr' alias synchtag='curr=$PWD; cd /home/www-data/build/org.eclipse.releng.tools.tagandrelease/; synch; cd $curr' alias synchall='synchbms; synchtag; synchwww' alias synch='echo ""; echo "CVS update $PWD ..."; W cvs -q update -Pd 2>&1 | egrep "C |U |P " | \ egrep -v "updates"; W chmod +x *.sh *.pl *.jar 2>/dev/null; for f in $(find $PWD -type f -name ".#*"); \ do W rm -fr $f; done; W chmod -R g+w $PWD 2>/dev/null; W chgrp -R www $PWD 2>/dev/null'
Then, add this to your ~/.bashrc:
source ~/.alias
On subsequent logins, you will be able to update everything using these new shortcuts:
synchwww - update /var/www/html/modeling (the web root) and fix permissions synchbms - update /home/www-data/build/modeling/scripts and fix permissions synchtag - update /home/www-data/build/org.eclipse.releng.tools.tagandrelease/ and fix permissions synchall - update all of the above