Blog

One of the winners of the Duke Awards at the recently help JavaOne conference in San Francisco was Gephi, a program for visualizing and exploring graphs. It may possible have some use in developing clustering algorithms for HEP/Astrophysics data?

The following demo shows (conceptually) how the shutters for the LSST camera move. The intention is to build this into the LSST Camera Control System (CCS) but at the moment it is just a standalone demo. Click on the image to run the Java Web Start version.

CDMS recently asked whether is was possible to display a set of plots on a confluence page, such that one plot at a time can be selected and viewed (this is something that is done using custom javascript on their existing documentation pages). There did not seem to be any existing confluence macro or plugin which exactly satisfied their requirements, so I looked into building a custom confluence macro. After a little reading and downloading the Atlassian SDK it turned out to be quite easy to create simple plugins for confluence to add functionality like this. Basically all that was needed was:

  1. A small Java class which extends BaseMacro and has a single execute method which takes the user's options and performs any necessary "business logic" (in this case scanning for images attached to the current page which match the user's selection requirements).
  2. A velocity macro which takes the output of the Java class and renders it as HTML
  3. A simple javascript function which uses jquery to switch the plot images when the user selects a plot
  4. A helpfile (velocity), a plugin descriptor (xml) and a maven pom (xml)

The complete source code can be found here, and the result is shown below:

Unknown macro: {plotset}

Feel free to ask if you are interested in help getting started creating your own custom macros for confluence.

Confluence makes it easy to add a picture or icon to your confluence profile. By default these pictures appear on your personal confluence page, on the confluence dashboard next to the list of pages you have recently updated, and can be made to appear on the list of recently updated pages on your group spaces. Adding images to your profile can help build a sense of community in a distributed collaboration.

To add an image to you profile click on "Your Name", Preferences from the confluence menu at the top of any confluence page, then click on Edit Profile, Profile Picture. Now click Browse... to select the picture you want to upload, then click on the Upload button.

Confluence only allows your profile picture to be 48x48 pixels, but you can upload a larger image, and confluence allows you to crop the image directly on the upload page. If the image is still too large after cropping it will automatically be scaled to fit the 48x48 pixel limit.

More documentation on profile pictures can be found on the confluence web site.

Adding profile pictures to the list of recently updated pages on your group space.

If you have a {recently-updated} macro on your group home page you can easily modify it to include contributors pictures, by adding the showProfilePic=true option.

What you must type

What you will get

{recently-updated:showProfilePic=true}

More information on the {recently-updated} macro can be found in the confluence documentation.

The {latex} macro can be used to embed equations in your confluence pages. Here are some examples:

Equation

Macro

{latex}\( E=mc^{2} ){latex} 

{latex}\(\lambda _{0}=\Lambda _{0}\mathit{c}^{2}/(3\mathit{H}^{2}_{0}) \){latex}

{latex}\[z \left( 1 \ +\ \sqrt{\omega_{i+1} + \zeta -\frac{x+1}{\Theta +1} y + 1}\ \right)\ \ \ =\ \ \ 1\]{latex}

{latex}\(\left[{\bf X} + {\rm a} \ \geq\ \underline {\hat a} \sum_i^N \lim_{x \rightarrow k} \delta C\right]\){latex}

For more information see the confluence LaTeX plugin documentation.

One frequent complaint heard from confluence users is that information in confluence can be hard to find. While confluence spaces often start out well organized – over time as pages are added the space becomes disorganized, and it is hard for user to distinguish up-to-date content from obsolete information.

Confluence has always had the ability to organize pages hierarchically, when new pages are created they are by default made children of the current page. In the past the page hierarchy was hard to exploit in any useful way, and re-organizing the pages was difficult. Several new features in confluence 2.10, recently installed at SLAC, make this task easier. In particular

  • It is now possible to move pages around within the page hierarchy using drag-and-drop directly from your web browser. You can do this without breaking links to existing pages.
  • It is possible to embed a dynamic view of the page hierarchy anywhere in your confluence pages which can be a very useful tool to allow users to explore the information available.
  • It is possible to create search boxes which search within a specific hierarchy of pages.

Each of these features is explained in more detail below.

Moving pages using drag-and-drop

From within any confluence space you can see the complete page tree by selecting Browse, Pages from the menu at the top of the page, then select View: Tree.

Within the tree it is now possible to simply drag pages from one location to another. You can drag individual pages, or a whole sub-tree of pages in one operation. Moving pages in this way will not break links to existing pages, since the URL's of the pages do not change. By default each page sorts its children alphabetically, but you can set an explicit page order by dragging and dropping pages. In the image above the Confluence folder has been configured to not sort its pages alphabetically, clicking on the icon beside the page will re-sort its children alphabetically.

(warning) It is perhaps advisable to try this on your personal confluence space first, before tackling a larger space. It is easy to accidentally drop a whole set of pages in some obscure location but once you get used to it moving pages becomes fast and easy.

Inserting a page tree in your own pages

The {pagetree} macro can be used to insert a navigation page into any confluence page. This can be a convenient way to allow users to explore the organization of pages within the space. The {pagetree} macro can be configured to display the entire page hierarchy for the space or a subset of the tree starting at any specific page. The following example is created using

{pagetree:root=Confluence}

Note that you can click on the + beside the top level pages below to see the children of particular pages.

Searching within a page tree

The {pagetree} can be used to also display a search box which searches only within the specified tree of pages. Alternatively the {pagetreesearch} macro can be used to display the search box without the tree. For example

{pagetreesearch:rootPage=Confluence}

displays

or

{pagetree:root=Confluence|searchBox=true}

displays

More information

A fuller description of the features described here can be found in the Atlassian Confluence documentation. Documentation on the {pagetree} and {pagetreesearch} macros can be found in the Confluence Content section of the Confluence Notation Guide.