Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search

Modeling Project Releng/Website Maintenance

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:


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:

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 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.

Site Navigation

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/; 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/ and fix permissions
synchall - update all of the above

Back to the top