Jump to: navigation, search

Difference between revisions of "Modeling Project Releng/Website Maintenance"

m (Site Navigation)
(Maintaining CVS Synch)
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
===Homepage Copy===
+
==Homepage Copy==
  
Component owners can edit their own website copy if they are members of the group '''<code>modeling-home</code>'''. If they're not they can open a [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=community&component=CVS bug], cc: their PMC for approval, and request access from the webmaster.
+
Component owners can edit their own website copy if they are members of the group '''<code>modeling-home</code>'''. If they're not they can open a [https://bugs.eclipse.org/bugs/enter_bug.cgi?product=community&component=CVS 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 <code>/cvsroot/org.eclipse</code>:
 
To edit website copy, check out the web content module from <code>/cvsroot/org.eclipse</code>:
  
  www/modeling/emft/'''projectName'''
+
  www/modeling/emft/'''componentName'''
  
 
Then look at these files:
 
Then look at these files:
Line 19: Line 21:
 
Note that there's at least a 30-second lag before content appears after committing new files or changes.
 
Note that there's at least a 30-second lag before content appears after committing new files or changes.
  
 +
==Build UI==
  
===Build UI===
+
As above, content lives in [http://dev.eclipse.org/viewcvs/index.cgi/www/modeling/emft/search/build/?root=Eclipse_Website /cvsroot/org.eclipse/www/modeling/emft/'''projectName''']. Copy these three files over from some other component's build/ folder, then edit <code>_common.php</code> to suit your needs.
  
As above, content lives in <code>/cvsroot/org.eclipse/www/modeling/emft/'''projectName'''</code>. See:
+
build/_common.php ''(contains shared properties)''
 +
build/index.php ''(to run a build)''
 +
build/promo.php ''(to promote a build)''
  
build/_common.php
+
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
  
===Site Navigation===
+
=== Adding new dependencies ===
 +
 
 +
* If your build depends on another component that's not listed, see [[Modeling_Project_Releng/Building_Zips_And_Jars#Where_are_.24.7BfooURL.7D_and_.24.7BfooFile.7D_defined.3F|Where is ${fooURL} defined?]], and contact your [[User:nickb|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 [http://dev.eclipse.org/viewcvs/index.cgi/www/modeling/gmf/gmf/build/_common.php?root=Eclipse_Website&view=annotate _common.php], which allows your build page to be automatically filtered to preselect only the [http://dev.eclipse.org/viewcvs/index.cgi/www/modeling/mdt/ocl/build/_common.php?root=Eclipse_Website&view=annotate 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 <code>_projectCommon.php</code> file, eg. <code>/cvsroot/org.eclipse/www/modeling/emft/_projectCommon.php</code>.
 
So that your component is properly listed and will appear on the homepage, downloads, release notes, be sure to edit your parent project's <code>_projectCommon.php</code> file, eg. <code>/cvsroot/org.eclipse/www/modeling/emft/_projectCommon.php</code>.
Line 40: Line 56:
 
  $incubating = array( ... ); // incubating components (everyone starts here)
 
  $incubating = array( ... ); // incubating components (everyone starts here)
  
=== Previewing / Testing ===
+
==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  [http://www.eclipse.org/modeling/emf/downloads/?project=emf EMF's "Getting Started" header] or [http://www.eclipse.org/modeling/emf/downloads/?project=validation#footer Validation's "Questions?" footer].
 +
 
 +
* To enable a header, add a method called [http://dev.eclipse.org/viewcvs/index.cgi/www/modeling/emf/downloads/extras-emf.php?root=Eclipse_Website&view=markup doRequirements()] into <code>www/modeling/$projectName/downloads/extras-$subprojectName.php</code>.
 +
* To enable a footer, add a method called [http://dev.eclipse.org/viewcvs/index.cgi/www/modeling/emf/downloads/extras-validation.php?root=Eclipse_Website&view=markup showNotes()] into <code>www/modeling/$projectName/downloads/extras-$subprojectName.php</code>.
 +
 
 +
== Previewing / Testing ==
  
 
* [[Eclipse_Server_Sandbox_Setup | Set up a local mirror of www.eclipse.org]]
 
* [[Eclipse_Server_Sandbox_Setup | Set up a local mirror of www.eclipse.org]]
  
 
* [http://divby0.blogspot.com/search?q=zend Use PDT to edit and debug PHP pages]
 
* [http://divby0.blogspot.com/search?q=zend Use PDT to edit and debug PHP pages]
 +
 +
== Updating Build Server ==
 +
 +
Once your changes are in CVS, contact your [[User:Nickb|build server admin]] and point him [[Modeling_Project_Releng/Component_Creation/Build_Server_Setup|here]]. You'll need to provide your static IP or [http://dyndns.org domain name] in order to be able to [[Modeling_Project_Releng/Releasing#Getting_Access|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''
  
  
 
[[Category:Releng]] [[Category:Modeling]]
 
[[Category:Releng]] [[Category:Modeling]]

Latest revision as of 12:25, 24 December 2008

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:

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