| Name | Metadata Plugin 2 |
|---|---|
| Vendor | Andy Armstrong |
| Authors | Andy Armstrong, Kelsey Grant |
| Homepage | http://confluence.atlassian.com/display/CONFEXT/Metadata+Plugin |
| Issue Management | http://developer.atlassian.com/jira/browse/META |
| Continuous Integration | n/a |
| Categories | Content Macros |
| Most Recent Version | 2.1.0 |
| Availability | Confluence v2.7 to v3.0.0_01 |
| State | Stable |
| Support |
|
| License | Freeware / Open Source (BSD) |
| Price | Free |
| Release Docs | http://confluence.atlassian.com/display/CONFEXT/Metadata+Plugin |
| Java API Docs | n/a |
| Download Source | http://svn.atlassian.com/svn/public/contrib/confluence/metadata-plugin/tags/2.1 |
| Download JAR | metadata-2.1.0.jar |
| This plugin now accessible through the Confluence Repository Client. |
| This documentation has not yet been updated for version 2.0. The new features are described as part of the Codegeist submission. |
This extension won an honorable mention in Atlassian's Codegeist competition for 2006.
Description/Features
This plugin allows the user to attach metadata to any page in Confluence and to then generate reports and statistics using it.
The largest problem that we've had using Confluence at Pantero is that information has to be replicated on multiple pages. For example, it is extremely common to repeat information from a number of pages onto a summary page. The children and contentbylabel macros allow a page to reference a set of related other pages, but these summaries are restricted to just a link to the page and optionally an excerpt. I found myself instead manually building these summary tables but they quickly get out of date.
I strongly believe that data should only live in one place and that other pages that need to show the same information should reference the data rather than copy it. I decided to write a plugin that makes it easy to reference snippets of data from one page on other pages. The Metadata Plugin can generate these summary tables automatically to contain as many columns of metadata per page as make sense. In fact, multiple pages can now present the same list but with more or less detail as appropriate. See the examples for more details.
In some ways, what I've implemented is a glorified 'excerpt' macro. Instead of there being just a single magic excerpt, though, the user can create as many pieces of metadata as they like. There are two basic macros for adding metadata to a page:
- metadata - lets the user add a single piece of metadata
- metadata-list - allows the user to enter a number of values at once
The remainder of the macros are provided to present metadata data on other pages. The simplest of these, metadata-from, shows a single metadata value from a specified page. The more interesting macros are those that aggregate data from a number of sources to dynamically build up tabular reports, dashboards, charts and other useful statistics. In some ways these macros treat Confluence like one giant Excel spreadsheet where data can be gathered from anywhere and presented.
In addition to the report macros, the Metadata Plugin provides two other ways to access the metadata. Firstly, all metadata is indexed and can be searched by keyword. Secondly, an experimental remote API has been provided so that the metadata can be accessed by other applications.
Usage
The plugin provides the following new macros:
| metadata | Saves metadata to the page to be referenced from other pages. |
| metadata-list | Saves a list of metadata values to the page. |
| metadata-from | Shows a metadata value from another page. |
| metadata-report | Shows a tabular report of metadata from matching pages. |
| metadata-calculate | Performs a calculation across all matching metadata values. |
| metadata-total | Totals up a metadata value from matching pages. |
| metadata-matches | Returns the number of matching pages whose metadata matches the macro's body. |
metadata macro
The basic macro lets you attach a single piece of metadata to a page.
{metadata:Author}[~andy.armstrong]{metadata}
would render simply as:
but would also attach "Author" as a piece of metadata to the page. Note that the metadata is stored as unrendered Wiki markup, so in this case the value "[~andy.armstrong]" is stored for the "Author" metadata. The reporting macros then render the markup into the page they are used on. This usually works very well because links, emoticons etc can be used.
If you don't want the metadata on the page you can use the "hidden" parameter.
{metadata:Author|hidden=true}[~andy.armstrong]{metadata}
metadata-list macro
This macro allows the user to attach multiple pieces of metadata to a page with one macro. The main purpose of this is to make it allow a user to add metadata more concisely and to make the Wiki markup easier to read.
The following usage:
{metadata-list}
|| Name | Metadata Plugin |
|| Version | 1.0 |
|| Product Versions | Confluence 2.x |
|| Author(s) | Andy Armstrong |
{metadata-list}
adds four pieces of metadata to the page, as well as rendering the following output:
| Name | Metadata Plugin |
|---|---|
| Version | 1.0 |
| Product Versions | Confluence 2.x |
| Author(s) | Andy Armstrong |
An optional orientation=horizontal parameter changes the rendering to be horizontal. It will then render as follows:
| Name | Version | Product Versions | Author(s) |
|---|---|---|---|
| Metadata Plugin | 1.0 | Confluence 2.x | Andy Armstrong |
metadata-from macro
This is the simplest macro to get a piece of metadata from another page onto the current one.
The Metadata Plugin was written by {metadata-from:Metadata Plugin|Author}.
would pull the 'Author' metadata from the 'Metadata Plugin' page and hence would show as:
The Metadata Plugin was written by Andy Armstrong.
The Metadata Plugin was written by {metadata-from:Author}.
pulls the 'Author' metadata from the current page.
metadata-report macro
This macro shows metadata from matching pages in a tabular report. By default it shows the children of the current page, but it has an optional label attribute to match all pages with the specified label.
The basic format is:
{metadata-report:Page,Author(s),Version}
would then show the following table (assuming two children):
| Page | Author(s) | Version |
|---|---|---|
| Metadata Plugin | Andy Armstrong | 1.0 |
| [Another Plugin] | Joe | 2.1 |
To show a table of all pages with the 'codegeist' label you can instead use:
{metadata-report:Page,Author(s),Version|label=codegeist}
Note that "Page" is an 'internal' metadata keyword that produces a link to the page in question. Internal keywords have lower priority than explicit metadata values but are provided for convenience. See the list of internal metadata for more details.
The report can provide totals for certain columns using the totals argument. Say that each entry had a number of lines of code stored under "LOC", then this would show the totals:
{metadata-report:Page,Author(s),Version,LOC|label=codegeist|totals=LOC}
| Page | Author(s) | Version | LOC |
|---|---|---|---|
| [Another Plugin] | Joe | 2.1 | 300 |
| Metadata Plugin | Andy Armstrong | 1.0 | 500 |
| Totals | 800 |
Finally, the macro allows the report to be sorted in different orders. The default ordering is by page, but a sort=XXX parameter can be specified.
{metadata-report:Page,Author(s),Version,LOC|label=codegeist|totals=LOC|sort=LOC desc}
| Page | Author(s) | Version | LOC |
|---|---|---|---|
| Metadata Plugin | Andy Armstrong | 1.0 | 500 |
| [Another Plugin] | Joe | 2.1 | 300 |
| Totals | 800 |
metadata-calculate macro
This macro returns a single value by totalling up any float or integer metadata. This result can be shown directly or can be used as input to another statistics macro.
The simplest example is to include a single total on the page.
We have {metadata-calculate:Days Remaining} days remaining.
which then shows as:
We have 800 days remaining.
This macro is more useful to present several totals in a single chart. For example, the following Wiki markup will produce a chart showing the number of days remaining in a set of releases:
{chart:title=Days remaining per release|width=500|height=200|dataOrientation=horizontal}
|| || 2.1 release || 2.2 release ||
|| Days Remaining
| {metadata-calculate:Days Remaining|label=2_1_release}
| {metadata-calculate:Days Remaining|label=2_2_release} |
{chart}
An optional function argument can be specified to control how the resulting number is calculated. This can be any of the following values:
| Sum | Returns the sum of each non-empty value (default) |
|---|---|
| Average | Returns the average of each non-empty value |
| Minimum | Returns the minimum of each non-empty value |
| Maximum | Returns the maximum of each non-empty value |
metadata-matches macro
This macro totals up the number of matching pages which have a particular value for metadata. This result can be shown directly or can be used as input to another statistics macro.
Here's an example bar chart that can be produced by using metadata-matches within a chart macro.
{chart:type=bar|title=Release Status|width=500|height=200|orientation=horizontal}
|| || Tasks ||
|| Delayed | {metadata-matches:Status}Delayed{metadata-matches} |
|| In Progress | {metadata-matches:Status}In Progress{metadata-matches} |
|| Complete | {metadata-matches:Status}Complete{metadata-matches} |
|| Not Started | {metadata-matches:Status}Not Started{metadata-matches} |
{chart}
You can also see the same metadata in a pie chart:
{chart:title=Release Status|width=500|height=200}
|| || Delayed || In Progress || Complete || Not Started ||
|| Issues | {metadata-matches:Status}Delayed{metadata-matches}
| {metadata-matches:Status}In Progress{metadata-matches}
| {metadata-matches:Status}Complete{metadata-matches}
| {metadata-matches:Status}Not Started{metadata-matches} |
{chart}
In addition, this macro allows for another metadata value to be calculated for each matching page. The following syntax will total up all of the days remaining on features for which I am assigned:
{metadata-matches:Owner|labels=2_2_new_feature|value-name=Days Remaining}
[Andy Armstrong]{metadata-matches}
By default this sums the values, but the same function parameter can be used as with metadata-calculate.
Using this mechanism you can produce bar charts showing how a particular value is broken down. Currently this is very manual so a new metadata-chart macro is currently being considered. In the interim this manual code:
{chart:type=bar|title=2.2 Release Load Balancing|orientation=horizontal}
|| || Andy Armstrong || David Dahan || Esther Jesurum || John Avery || Maya Dahan ||
|| Days Remaining
| {metadata-matches:Owner|labels=2_2_new_feature|value-name=Days Remaining}
[Andy Armstrong]{metadata-matches}
| {metadata-matches:Owner|labels=2_2_new_feature|value-name=Days Remaining}
[David Dahan]{metadata-matches}
| {metadata-matches:Owner|labels=2_2_new_feature|value-name=Days Remaining}
[Esther Jesurum]{metadata-matches}
| {metadata-matches:Owner|labels=2_2_new_feature|value-name=Days Remaining}
[John Avery]{metadata-matches}
| {metadata-matches:Owner|labels=2_2_new_feature|value-name=Days Remaining}
[Maya Dahan]{metadata-matches} |
{chart}
produces the following chart:
Macro keywords
The following is a summary of all the keywords supported by the Metadata Plugin macros:
| Keyword | Description | Used By |
|---|---|---|
| function | Specifies the function to apply to the matching data (default: sum) | metadata-calculate |
| hidden | Specifies that the metadata value won't be rendered | metadata, metadata-list |
| key | Limits the content returned to be within the space with the given key | metadata-report metadata-calculate metadata-matches |
| labels | Limits the content to only that which has the specified label(s). A comma separated list produces ANY pages that match, while using '+' will give ALL pages. Parentheses may be used to build up complext expressions, e.g |labels=(yellow,red)+fruit | metadata-report metadata-calculate metadata-matches |
| root | Specifies a set of pages to include. When used in combination with the 'pages' option, allows children of a particular page. Use @self for the current page (the default), @parent for the parent page, or the name of any page, e.g MySpace:MyPage. If this is specified and the pages option is not, then the report will run over only the pages listed here. | metadata-report metadata-calculate metadata-matches |
| pages | Specifies a set of pages to grab from the root page(s). Supports @children, @ancestors, @descendants, @ancestors. For example, |root=@self|pages=@children will give all children of the current page. This can be used in combination with the labels option to find all children with a particular label. | metadata-report metadata-calculate metadata-matches |
| link | Specifies which columns in the report should link back to the content | metadata-report |
| maxResults | Specifies the maximum number of results in a report (default: 500) | metadata-report |
| orientation | orientation=horizontal makes a report horizontal | metadata-list |
| sort | Specifies which columns in the report should be sorted by (e.g. "Status desc") | metadata-report |
| totals | Specifies a comma separated list of values to be totalled. | metadata-report |
| type | Specifies which Confluence content types should be considered for a report. This feature was based on the 'contentbylabel' macro which has the same attribute. See this page for (some) details:http://confluence.atlassian.com/display/CONF20/Content+by+Label+Macro |
metadata-report metadata-calculate metadata-matches |
| value-name | The metadata value that will be used for a calculation. | metadata-report metadata-calculate metadata-matches |
Metadata search
The Metadata Plugin provides a search extractor that will add each piece of metadata to the Confluence index. For example, you can make the query:
Author:Andy
which will return all pages that contain "Andy" in their author metadata. You can then combine this with other search syntax to do sub-searches.
Remote API
New in version 1.3 a prototype remote API has been implemented. Currently just one method has been provided:
/** * Returns all of the metadata values attached to the specified page. * @param token The token identifying the current user. * @param spaceKey The key of the space that the page belongs to. * @param pageName The name of the page. * @return An array of MetadataValue objects. * @throws RemoteException if the page cannot be found. */ MetadataValue[] getMetadataValues(String token, String spaceKey, String pageName) throws RemoteException;
MetadataValue is a simple bean that provides 'name' and 'value'.
This API has been exposed as secure XML-RPC and SOAP services. See the Confluence Remote API Specification for examples of using such a service.
Examples
Pantero uses the Metadata Plugin in a number of ways to make its Wiki content more dynamic. Some examples include:
| Employee information | Each employee has a home page in Confluence which records all of their contact information such as work phone, cell phone, IM handles etc. A central contact info page then generates a report with all this information in one place. |
|---|---|
| New feature development process | When planning a new release we create a new page for each new feature under consideration. This page then links to separate pages for requirements, use cases, designs, implementation plans and test plans. All of this information is recorded in metadata to automatically produce executive dashboards. |
| Customer relationship management | Each customer has its own page as does each project we work on. Once again, this can then be aggregated in different ways depending on the audience. |
| Writing test plans | Every test plan that we write is labeled with 'testplan' and has its status registed in metadata. We then generate status pages that show us the overall testing status of our release. See Brian Sensale's Testplan Plugins) for help with this automation. |
| Software licenses | Each piece of software we purchase has a Confluence page dedicated to it, and then a complete audit of all licenses can be generated. |
There are all sorts of other kinds of structured data that could be usefully aggregated with the right combination of labels and metadata. Here are some we are considering:
- status reports
- meeting notes
- online documentation
- FAQs, tips and tricks, best practices etc
- sales leads
Version History
| Version | Date | Description |
|---|---|---|
| 1.5 | 07/25/2006 | Includes:
|
| 1.4 | 04/24/2006 | Includes:
|
| 1.3 | 03/17/2006 | Includes:
|
| 1.2 | 02/28/2006 | Includes:
|
| 1.1 | 02/28/2006 | Includes:
|
| 1.0 (patch) | 02/14/2006 | Fix metadata-list to trim metadata names and values |
| 1.0 | 02/13/2006 | Initial version. |
Screenshots
Issues/Ideas
This section describes some of the issues that arise using this plugin.
Metadata templates
How can I access non-metadata in my reports?
All the macros support certain built-in metadata names for internal data structure:
| Excerpt | Returns the page's excerpt |
|---|---|
| Page | Returns a link to the page |
| Parent | Returns a link to the page's parent |
| Space | Return's the page's space key |
| Title | Synonym for Page |
It is straightforward to add more so let me know what else you'd like to see.
Why wouldn't I use JIRA for this kind of data?
This is a good question and is a best practice that we're trying to develop as happy users of both JIRA and Confluence. JIRA is excellent for issue tracking because of its formal semantics and its clear workflow model. Confluence is better for ad-hoc data because metadata can be attached to a page and then used in reports without any administrative changes. Confluence also works better for living documentation due to its Wiki nature (attaching images, designing the look of the page etc).
Shouldn't project planning be done in Microsoft Project (or equivalent)?
For large or formal projects a real project planning tool is probably a good idea. For small startups that already have Confluence (like Pantero) it is preferable to have a looser project plan that is more tightly integrated with technical documentation, proposals, meeting notes etc.
Reported issues
Here is the list of open issues reported against the Metadata Plugin. Please feel free to report bugs or propose improvements.


Comments (193)
Mar 01, 2006
Russell Warren says:
I've got a case where I have a main page that has a {metadata-report} macro, and...I've got a case where I have a main page that has a {metadata-report} macro, and various child pages that are generic forms/templates with a set of metadata at the top. What I would like is for the generated report to be able to have column that contains links to the relevant child page. ie: the metadata-report summary contains blurbs of summary info from the various child pages, but I want to be able to link to the child pages from the appropriate summary table row.
How do I do this? Even if I make/find a "link to self" macro to put in as metadata, the data is passed on as unrendered markup so it doesn't help me. I don't want to have to have users repeatedly have to remember to enter the particular metadata field as a link of the page name they are working on.
I think that one nice implementation would be to tweak the metadata-report implementation a little bit so that you can specify which bit of metadata you want to be a link to the page the data came from. Maybe an @ prefix on the column name to be a link?
eg:
{metadata-report:@Version, Release date, Released by, Brief description}would set up a report with the indicated columns containing data from all child pages, and the Version data would be links to the child pages the data came from, with the alias for the links being the "Version" metadata. In the event of the metadata being a link itself, override with the page link and make the [ and ] chars into literals (if you click it you can then get through to the link at the metadata source)
In the absence of this feature, is there some other solution? The "metadata = unrendered markup" aspect makes me think not, but it would be good to know.
I'm unsure this comment is the best place for this request/suggestion - if not, where is the best place?
Mar 01, 2006
Andy Armstrong says:
The current solution for this is that there are some 'magic' metadata names whic...The current solution for this is that there are some 'magic' metadata names which treat internal Confluence information as if it were metadata. There is one called 'Page' which I think will do what you want. I really thought I'd documented that, but it appears that I didn't. I'll go back and add a description now. For the record, here are the internal metadata names you can use.
One issue is that you can't rename the column so you are currently stuck with it being Page and/or Title. That is something I've been meaning to address, so if it is important to you I'll do so. I can also easily add new internal metadata names if there is anything else you need (someone suggested 'Parent' to me today).
Mar 01, 2006
Russell Warren says:
Great! This muscles the functionality in for now... nice formatting can come la...Great! This muscles the functionality in for now... nice formatting can come later.
What would be nice:
Oct 02, 2006
Osma Ahvenlampi says:
It would be very useful to also be able to use the document's last update time a...It would be very useful to also be able to use the document's last update time and author in the metadata reports. In particular I'm working on a report in which I'd like to sort the metadata-report by the metadata source documents' update times..
Oct 02, 2006
Andy Armstrong says:
Hi Osma, This would be very useful information, and it has been much requested....Hi Osma,
This would be very useful information, and it has been much requested. Please vote for the issue here:
http://developer.atlassian.com/jira/browse/META-13
Thanks,
Mar 13, 2006
John Bowen says:
Great plugin! Is there a way to access metadata in another space? If not, plea...Great plugin! Is there a way to access metadata in another space? If not, please consider this a vote for it!
Mar 16, 2006
Andy Armstrong says:
I thought that this would 'just work' but it clearly doesn't. I've reported it a...I thought that this would 'just work' but it clearly doesn't. I've reported it and hope to have a fix in version 1.3 which is due out in the next couple of days.
http://developer.atlassian.com/jira/browse/META-4
Mar 13, 2006
John Bowen says:
Also, it would be nice if formatting macros contained by the metadata plugin wou...Also, it would be nice if formatting macros contained by the metadata plugin would still display properly. For example:
{metadata:Section1}Section1: {info}This is more information.{info} {metadata}This displays on the page as:
Section1: {info}This is more information.{info}Is there a way to work around this issue (to make the {info} tag display properly)?
Mar 16, 2006
Andy Armstrong says:
This is an oversight on my part. I've mostly moved over to using metadata-list w...This is an oversight on my part. I've mostly moved over to using metadata-list which does correctly render inner macros, so I didn't notice that metadata itself had stopped doing so. So you should see that the following works correctly:
{metadata-list} ||Section2|{info}This is more information{info}| {metadata-list}I've reported this one too:
http://developer.atlassian.com/jira/browse/META-5
Mar 22, 2006
Andy Armstrong says:
This bug was fixed in the 1.3 release that is now available. Thanks for the rep...This bug was fixed in the 1.3 release that is now available.
Thanks for the report.
Mar 19, 2006
David Peterson [CustomWare] says:
Any chance of adding a '@self' and '@parent' option for {metadata-from}? That wo...Any chance of adding a '@self' and '@parent' option for {metadata-from}? That would make it easier to put self-referencing metatdata definitions into templates. For example, I'm using it to create a bibilographic reference list, and want to have a dynamically-build set of different reference styles (APA, Chicago, Harvard, etc) on the page, based on the author, publication date, title, etc on that same page. Eg:
|| Author(s) | {metadata:Author}Bloe, Joe{metadata} | || Publish Date | {metadata:Publish Date}2006{metadata} | etc... || APA || {metadata:APA}{metadata-from:@self|Author} ({metadata-from:@self|Publish Date}). etc...{metadata} |I can then get a list of nicely-formatted references in the style of my choice by pulling the 'APA' metadata content from all reference pages.
Oh, also, it would be handy to be able to define a section as only visible if a piece of metadata is non-null/non-blank. Eg, the following would only be visible if 'Subtitle' had a value:
{metadata-if:@self|Subtitle}Subtitle: {metadata-from:@self|Subtitle}{metadata-if}Mar 19, 2006
Andy Armstrong says:
Those are both great ideas, David. Could you report them here and I'll add the s...Those are both great ideas, David. Could you report them here and I'll add the support for the next release:
http://developer.atlassian.com/jira/browse/META
Mar 20, 2006
David Peterson [CustomWare] says:
Yeah, I did start adding them as issues but got distracted by other impending de...Yeah, I did start adding them as issues but got distracted by other impending deadlines. I have actually implemented them both rather hurriedly (need further testing to make sure nothing else broke). Will you be putting the source code into Atlassian's Subversion repo at any point?
Mar 22, 2006
Andy Armstrong says:
I do plan on putting the code into Subversion at some point. I now have access b...I do plan on putting the code into Subversion at some point. I now have access but I haven't spent the time to learn how to work with it.
In the meantime I'd be happy to integrate your changes into mine if you want to send them to me:
Andy.Armstrong@pantero.com
Thanks.
Mar 25, 2006
RefuX Zanzeenbarr says:
I filed CONF-2233 a year and a half ago and now thanks to you it is fixed! Cheer...I filed CONF-2233 a year and a half ago and now thanks to you it is fixed!
Cheers!
Apr 02, 2006
Jeremy Higgs says:
Hi Andy, Great plugin! I would really love to see page labels as other page "no...Hi Andy,
Great plugin! I would really love to see page labels as other page "non-metadata" that can be displayed with the macro.
Thanks,
Jeremy
Apr 02, 2006
Andy Armstrong says:
Hi Jeremy, That's a great idea. I've reported it in JIRA so I can track it: ht...Hi Jeremy,
That's a great idea. I've reported it in JIRA so I can track it:
http://developer.atlassian.com/jira/browse/META-16
Thanks,
Andy
Apr 03, 2006
Jeremy Higgs says:
Great! Another thing I'm interested in doing is generating a chart from all valu...Great! Another thing I'm interested in doing is generating a chart from all values of a particular piece of metadata. I thought this might be possible by wrapping a metadata-report call with a chart, but it doesn't seem to be working.
As an example, I might define a number of values for a piece of metadata called "Foo". I might then want to display the number of pages that have defined the metadata "Foo" and see all of the values ("Bar", "ABC", "DEF") and how many times they occur. I could use the metadata-matches macro in this case, but if I add a new value for "Foo", I'd have to update any existing charts.
Is there an easy way of doing this, do you think?
Apr 03, 2006
Guy Fraser says:
The metadata plugin would have to output it's chart using wiki notation rather t...The metadata plugin would have to output it's chart using wiki notation rather than HTML - from memory, plugins like the Chart plugin only parse wiki notation.
Apr 03, 2006
Dan Hardiker says:
I believe (and I stand to be correct) that although the innards of the chart is ...I believe (and I stand to be correct) that although the innards of the chart is indeed wiki notation, it's actually the rendered HTML that is parses. However the table it expects is a Confluence table, something in the following form:
I think the current problem could be caused by incompatable html which the chart cannot read - although thats a pure hypothesis.
Apr 03, 2006
Bob Swift says:
Dan is mostly correct. Chart just needs an HTML table (no matter how it is prod...Dan is mostly correct. Chart just needs an HTML table (no matter how it is produced). It renders the body content before processing and that is why it works with embedded macros like sql and csv.
Apr 03, 2006
Andy Armstrong says:
Here is the HTML that is generated by metadata-report for a small test example: ...Here is the HTML that is generated by metadata-report for a small test example:
Is the single quote vs the double quote the problem? I don't have time to try this now, but I can investigate later.
Also, I notice that most of the chart examples use a 'th' as the first entry in a row, presumably as a way to indicate a title. I guess I need to update metadata-report to support that as an option.
I'll look into this more soon.
Apr 05, 2006
Jeremy Higgs says:
Hi Andy, Thanks for looking into this - I think it's be great if the macro coul...Hi Andy,
Thanks for looking into this - I think it's be great if the macro could chart that kind of data.
If the snippet you posted above is directly from the output, shouldn't the opening tr tags have closing ones as well? Could it be that the chart macro is a bit picky with the table HTML?
An example of the problem from the snippet above:
Jeremy
Apr 05, 2006
David Peterson [CustomWare] says:
That would definitely be causing problems. In fact, the code should really be va...That would definitely be causing problems. In fact, the code should really be valid XHTML, to be safe.
Apr 05, 2006
Andy Armstrong says:
That was a stupid editing error on my part. I took a larger table and thought it...That was a stupid editing error on my part. I took a larger table and thought it was too big for the comment, so I 'cleaned it up'. From real examples that I just looked at it appears to be generating valid XHTML.
I haven't had time to investigate why the chart macro isn't working but I hope to do so in the next day or so. I'm also considering rewriting the report to output Wiki syntax and have the renderer convert it into a table. I think the slight performance hit would be worth it in ensuring that I'm generating the same kind of tables as the rest of Confluence.
Apr 05, 2006
Bob Swift says:
Once you do rendering, you could also make the table via csv macro which gives a...Once you do rendering, you could also make the table via csv macro which gives ability to sort on columns and is also compatible with the chart macro. The disadvantage would be a dependency on the csv macro and additional processing overhead.
Apr 05, 2006
David Peterson [CustomWare] says:
...which I believe also has a dependency on the Utilities Plugin...and so the ch......which I believe also has a dependency on the Utilities Plugin...and so the chain continues
Dec 17, 2007
Guy Fraser says:
It's a shame Dan's Plugins - Recursive JarClassLoader didn't make it in to C...It's a shame Dan's Plugins - Recursive JarClassLoader didn't make it in to Confluence 2.2
Apr 05, 2006
David Peterson [CustomWare] says:
It didn't? When did 2.2 come out?It didn't? When did 2.2 come out?
Apr 06, 2006
Jeremy Higgs says:
2.2 isn't out yet, but development is wrapping up, I believe... Sorting (using ...2.2 isn't out yet, but development is wrapping up, I believe...
Sorting (using the CSV macro) would be awesome. Perhaps as an optional hook that could be taken advantage of if the CSV (and Utilities) plugins were available?
Apr 06, 2006
Andy Armstrong says:
I really like this idea. What I plan to do is to generate Wiki markup and render...I really like this idea. What I plan to do is to generate Wiki markup and render it, so I can just as easily render the CSV macro as a Confluence table. This way there won't be a dependency in the plugin code on the CSV plugin.
I'm thinking that you'd control this through a 'style' keyword.
e.g. style=table, style=CSV, style=ul
I've reported the suggestion here:
http://developer.atlassian.com/jira/browse/META-19
Apr 06, 2006
Jonathan Nolen says:
Sorry, Guy & Dan, It was too big a change to introduce so late in the game....Sorry, Guy & Dan,
It was too big a change to introduce so late in the game. But it will defnitely be in 2.3, if not sooner.
Cheers,
Jonathan
Apr 03, 2006
Martin Cleaver says:
How does the user edit the meta data? Do they have to edit meta macros in wiki-s...How does the user edit the meta data? Do they have to edit meta macros in wiki-syntax or can they use a form?
Is the set of data defined in a schema, i.e. externally to the topics that use it? I'm thinking that I'd want to add columns at a later date and all topics that use that schema would need to reflect the addition of that data field.
Thanks,
M.
Apr 03, 2006
Andy Armstrong says:
Those are great questions. Currently metadata does not provide any structure so ...Those are great questions. Currently metadata does not provide any structure so there is no easy way to provide an editor for it. So for the moment the way to provide metadata is to edit the macros in Wiki syntax. I've been thinking about how to provide WYSIWYG editing for users who would prefer not to use Wiki syntax but haven't done anything about it yet. I've just reported this as a new feature request:
http://developer.atlassian.com/jira/browse/META-17
One possibility is to create page templates that automatically put metadata onto the page. We've been using this very successfully. Another option is to look at the Zones Plugin and the Scaffolding Plugin which provide different ways of providing more structured content.
Hope this helps,
Apr 03, 2006
David Peterson [CustomWare] says:
I've been mulling ways of connecting Scaffolding and Metadata together better. A...I've been mulling ways of connecting Scaffolding and Metadata together better. Also ways of making Scaffolding a bit more AJAXified, so that editing can take place on-screen, rather than the current edit-save cycle which goes one. I did make an experimental modification to Metadata to allow it to pull Scaffold fields, but it's definitely a big hack at the moment. We should chat some time
Apr 03, 2006
Guy Fraser says:
If you want beta testers, let me know. Also, we're working on some AJAX based co...If you want beta testers, let me know. Also, we're working on some AJAX based code that might be re-usable in the scaffolds - the tables and repeating data are prime candidates IMHO.
Apr 05, 2006
Andy Armstrong says:
I'd love to chat. I think the combination of Scaffolding, Metadata and AJAX woul...I'd love to chat. I think the combination of Scaffolding, Metadata and AJAX would be extremely cool. Contact me via email to set up a time.
Apr 05, 2006
Guy Fraser says:
Would it be worth interested developers getting together on Atlassian's wildfire...Would it be worth interested developers getting together on Atlassian's wildfire server at some time? I think between Scaffold and Metadata plugins, there's a vast explostion of tasty goodness on the horizon.
There are already plans to use Scaffolds as email forms and also "questionnaire" type forms (ie. allow multiple datasets, stored by user, on a page) and inclusion of AJAX to reduce page refreshes when editing data.
If Metadata can therefore pull Scaffold data, you not only end up with "Confluence as one giant spreadsheet" but you also end up with a very nice mechanism for editing that spreadsheet (scaffolds)
Apr 05, 2006
David Peterson [CustomWare] says:
Yeah, a chat would be great, and chat.atlassian.com would be the most logical pl...Yeah, a chat would be great, and chat.atlassian.com would be the most logical place. I'm on almost every other IM on the planet too, so impromptu chats are also most welcome. I've emailed you my IM details. Say hi sometime
I'll try to get onto the developer chat room at Atlassian when I'm online next too...
Nov 26, 2007
Davide De Benedictis says:
Hi Andy, any news on this topic? Is there some way to interactively insert meta...Hi Andy,
any news on this topic?
Is there some way to interactively insert metadata values form one user without edit the page?
Bye
Nov 26, 2007
Jean-Maxime Guay says:
Hi Davide, I'm currently developing a web-UI plugin which adds a new page tab n...Hi Davide,
I'm currently developing a web-UI plugin which adds a new page tab named Metadata so one will be able to view, add and edit metadata. Obviously though, there's no way for now, to edit and save this modification for a metadata defined in a page (a refresh of the page will set the metadata to its previous value.
First release of this plugin in a week.
Jean-Maxime
Nov 26, 2007
Davide De Benedictis says:
Hi Jean-Maxime, Nice to hear these news. I'm desperately seeking for this featu...Hi Jean-Maxime,
Nice to hear these news.
I'm desperately seeking for this feature.
I've posted also a couple of mail on the Confluence mailing list without response:
[http://forums.atlassian.com/thread.jspa?threadID=21390&tstart=0 ]
and in general, my problem:
[http://forums.atlassian.com/thread.jspa?threadID=21377&tstart=0]
I was nearly trying to modify the Flag Plugin for my "simple" needs
This would be my use case:
One user should create a new page from a "test case template". This page should have two metadata:
test_written=false
test _done=false
These metadata are presented to the user as checkboxes, so, from the UI point of view I imagine them as:
When a user has completed the test writing or completed the test case just checks one or both the checks.
Later, in a parent page, I could create powerful reports on project test case progress just querying metadata values...
Let me knows when your plugin will be released.
Davide
Nov 26, 2007
Kelsey Grant says:
There is an alternative approach you may wish to consider that uses labels. The ...There is an alternative approach you may wish to consider that uses labels. The choose-label macro can be used to present a list of labels, and when one is chosen the list will disappear.
Then you can use labels in your metadata queries. Only labels are 'indexed' and can be used to decide which pages to include in the report.
Nov 27, 2007
Davide De Benedictis says:
Hi Kelsey, I'll give a try on labels use. At the beginning I discarded them bec...Hi Kelsey,
I'll give a try on labels use. At the beginning I discarded them because we have many pages that should be labelled in this way and these lables would be always listed as top used labels in our confluence installation.
Metadata would be far more discreet
Nov 27, 2007
David Dembo says:
Fantastic news. Without trying to sound ungrateful, if I might offer a small s...Fantastic news.
Without trying to sound ungrateful, if I might offer a small suggestion - do you think it might be worth considering alternatives to an additional tab? e.g.:
IMHO adding something to the 'Info' tab would be the most intuitive location since metadata is basically a form of information, although having it on the actual article page also has benefits in terms of high visibility and ease of manipulation.
The main reason I'd prefer to see it somewhere else if possible is that a lot of plug-ins add extra tabs along that menu bar already, which can make it quite cluttered.
We actually tried creating a condensed layout to fit on lower resolution screens and there are already too many items to fit in a single row, so we've had to shelve those plans until we can come up with a suitable custom navigation scheme.
On an unrelated note - can you advise whether META-75 will be addressed in the new version too?
Nov 27, 2007
Davide De Benedictis says:
If I was able to program... I think a good starting point would be the page fl...If I was able to program...
I think a good starting point would be the page flag plugin.
Actually the bigger problem is that it's setting labels and metadata at the same time. If only it could be possible to configure it...
Bye
Apr 06, 2006
Brian Knorr says:
I tried to use the combination of the children macro and excerpt to create a lis...I tried to use the combination of the children macro and excerpt to create a list of pages with the excerpt contents displayed, but the children macro doesn't support displaying multiple lines within an excerpt tag. I would like to use the metadata plugin but it doesn't seem to support the displaying of the children hierarchy - it only displays the link to the page. Would it be possible to add support for displaying similar to the way the children macro works?
Thanks!
Apr 06, 2006
Andy Armstrong says:
This sounds like a great idea. Please submit a feature request in the Metadata P...This sounds like a great idea. Please submit a feature request in the Metadata Plugin JIRA:
http://developer.atlassian.com/jira/browse/META
Also, if you can give me a specific example of how the output should look (as HTML or a screenshot) I'll be able to verify that I'm building what you want.
Apr 06, 2006
Russell Warren says:
metadata-report currently either gets data from the source pages children, or vi...metadata-report currently either gets data from the source pages children, or via pages matching a label. It would be great if you could change the parent that metadata-report uses for the child search from itself to some other page.
eg: {metadata-report:Page, Author(s), Version|searchroot = SomeOtherPage}, would generate a report as if it were entered in the SomeOtherPage page (and no searchroot spec'd). The default for searchroot is basically @self.
This way you could easily have different pages that are different views into the same data.
Apr 06, 2006
Russell Warren says:
This has been submitted to JIRA (after an embarrassing comment add/remove that I...This has been submitted to JIRA (after an embarrassing comment add/remove that I'm sure all subscribers could see
)...
http://developer.atlassian.com/jira/browse/META-20
Apr 29, 2006
Kelsey Grant says:
I've implemented this now - see the docsI've implemented this now - see the docs
Apr 23, 2006
Jeremy Higgs says:
Hi Andy, What is the likelihood of this plugin being added to the Confluence su...Hi Andy,
What is the likelihood of this plugin being added to the Confluence subversion repository? I'm currently using this plugin to organise my research held in a Confluence instance, and would be happy to work on some of the feature requests that are quickly piling up.
Jeremy
Apr 23, 2006
Andy Armstrong says:
Hi Jeremy, This is one of those things I've been meaning to do but haven't got ...Hi Jeremy,
This is one of those things I've been meaning to do but haven't got around to. Atlassian sent me a password so I just tried to get in but there's some problem with the username and password I have. I'll try to get this setup as soon as I get this resolved.
Thanks also for the offer to help. My issues are certainly piling up now! My day job has been too busy recently to allow me to work on the plugin, but I really do hope to get back to it soon.
Apr 29, 2006
Kelsey Grant says:
Hi Jeremy, This has been done - you should find it.Hi Jeremy,
This has been done - you should find it.
May 09, 2006
Erik Wright says:
I seem to have encountered an annoying bug. I have a structure like this: Stor...I seem to have encountered an annoying bug.
I have a structure like this:
Story Collection
+-- Story
+-
+- TaskTask contains metadata (type=client/server and IED=#).
Story contains metadata like this (and similar for ClientIED):
{metadata-matches:Type|value-name=IED}server{metadata-matches}Story Collection contains a metadata-report on ServerIED and ClientIED that works.
I then tried using:
{metadata-calculate:ServerIED}(and similar for ClientIED) to generate a chart of the total work for server and client tasks. Unfortunately it always returns blank.
It seems that the problem is due to the ServerIED being itself calculated from metadata. If I replace the metadata-matches on the Story page with a static value it shows up in the metadata-calculate on the Collection page.
Nonetheless, it appears to work fine in the metadata-report! There must be a difference in the way these two items work?
May 09, 2006
Andy Armstrong says:
Hi Erik, I'm sorry you are having a problem. I have never tried having metadata...Hi Erik,
I'm sorry you are having a problem. I have never tried having metadata from one set of pages itself become metadata to be consumed by other pages. I could imagine that the logic for this doesn't work correctly right now. I don't currently have time to look into this, but please report it and I'll try to get to it in the next few weeks:
http://developer.atlassian.com/jira/browse/META
The source code is also in Subversion if you are interested in trying to fix it for yourself.
Thanks,
May 10, 2006
Erik Wright says:
Thanks for the response Andy. I have filed an issue at http://developer.atlassia...Thanks for the response Andy. I have filed an issue at http://developer.atlassian.com/jira/browse/META-31 . I am away for next week but I will try to take a look at the source upon my return.
PS, great tool, it is surprisingly powerful for being so simple.
May 24, 2006
Jeremy Higgs says:
Is the XML-RPC/SOAP interface enabled in version 1.4? I'm trying to pull metadat...Is the XML-RPC/SOAP interface enabled in version 1.4? I'm trying to pull metadata from a page using "confluence1.getMetadataValues" (XML-RPC), but the following response is being returned:
Looking at the plugin manager, I can see the XML-RPC and SOAP modules are enabled. I'm using 2.2.
Any ideas?
Jun 04, 2006
James Mortimer says:
I'm having same issue with 2.1.5 and metadata1.4 in perl: REMOTE ERROR: java.la...I'm having same issue with 2.1.5 and metadata1.4 in perl:
Jun 06, 2006
Othman Alaoui says:
Is the metadata not purged when the corresponding {metadata} macro is removed fr...Is the metadata not purged when the corresponding {metadata} macro is removed from a page, or is it just me?? At least it wasn't removed (i.e. still shows up in a report) when I reverted the page to a version that didn't have the {metadata} reference.
Jun 06, 2006
Andy Armstrong says:
This is indeed a limitation with how the plugin works right now. Please report t...This is indeed a limitation with how the plugin works right now. Please report this here so that it can be tracked:
http://developer.atlassian.com/jira/browse/META
Jun 06, 2006
Othman Alaoui says:
Is this limited to when reverting to an old version of the page, or does the pur...Is this limited to when reverting to an old version of the page, or does the purge also not happen when updating the page explicitely to not have the metadata? If the latter too, isn't this kind of a major problem? It means referencing reports will forever be "dirty", kind of a big problem if you ask me. How are other users of this plugin getting away with this limitation? Any tips?
Jun 06, 2006
Othman Alaoui says:
Added as http://developer.atlassian.com/jira/browse/META-34Added as http://developer.atlassian.com/jira/browse/META-34
Jul 03, 2006
Simon Taylor says:
I just upgraded to 2.2.5 and get the following error:- 2006-07-04 00:04:2...I just upgraded to 2.2.5 and get the following error:-
Jul 05, 2006
Andy Armstrong says:
Hi Simon, We're still on 2.2.2 and haven't seen a problem like this. It is poss...Hi Simon,
We're still on 2.2.2 and haven't seen a problem like this. It is possible that an incompatible change has been made to the plugin loading code, but I won't have any time to investigate this for a while. I'd recommend sending this to Confluence support as it is possible this is a bug they introduced. If they believe it is a problem in the Metadata Plugin I'll try to look into it.
The 'existing bean definition' warning seems interesting though. Is there any chance you have two copies of the plugin installed? Also, have you tried restarting Confluence as I believe there are still problems with dynamic reloading of plugins.
Let me know what you find out.
Jul 05, 2006
Matt Ryall (Atlassian) says:
As Andy pointed out, an existing bean definition error is typically caused by in...As Andy pointed out, an existing bean definition error is typically caused by installing the same plugin twice.
Can you check that you don't have a copy of the Metadata plugin JAR in both confluence-home/plugins and confluence/WEB-INF/lib? If that's the case, you need to remove one of them.
The other less likely possibility is that the plugin JAR is somehow in your app servers classpath (in Tomcat it could be in common/lib or shared/lib), as well as in Confluence.
Jul 11, 2006
Dan Loomis says:
Is it just me, or is metadata-total not documented? I can't seem to get it work...Is it just me, or is metadata-total not documented? I can't seem to get it working:
Output:
In Progress
Unable to show "metadata-total": Required parameter "0" not provided
Jul 11, 2006
Dan Loomis says:
Sorry - try this: {metadata-total:Status}In Progress{metadata-total} Output:...Sorry - try this:
{metadata-total:Status}In Progress{metadata-total}Output:
In Progress
Unable to show "metadata-total": Required parameter "0" not provided
Jul 12, 2006
Dan Loomis says:
This is probably more in line with the usage guidelines. No error this time, bu...This is probably more in line with the usage guidelines. No error this time, but it doesn't output anything. Any way we can get this macro documented?
{metadata-total:Status|root=@self|pages=@children|value-name=In Progress}Jul 12, 2006
Andy Armstrong says:
It was pointed out to me that metadata-total was too restrictive, so it has been...It was pointed out to me that metadata-total was too restrictive, so it has been replaced with metadata-calculate. I left it in for backwards compatibility, but I will remove it at some point.
Let me know if you have the same trouble with metadata-calculate.
Thanks,
Jul 18, 2006
Dan Loomis says:
Thanks for the reply, Andy. Will metadata-calculate return a count of meta...Thanks for the reply, Andy. Will metadata-calculate return a count of metadata values across a specified page range? In my example, I want to count how many "Status" metadata values equal "In Progress" for all child pages. I was under the impression that metadata-calculate only did integer/float calculations.
Is this an opportunity for a metadata-count macro?
Jul 18, 2006
Dan Loomis says:
BTW - metadata-matches is close, but not an exact fit. I don't need the nu...BTW - metadata-matches is close, but not an exact fit. I don't need the number of pages that match, rather the number of values.
Aug 01, 2006
Damon Rand says:
The metadata plugin is working really well for us so far.. However, I think I ha...The metadata plugin is working really well for us so far.. However, I think I have pushed the search to its limits.. I need the metadata report to display only those children that metadata-matches a certain value..
I could use a label to achieve something similar but I haven't found a way to automatically apply a label to each page created from a specific template.
Aug 01, 2006
Guy Fraser says:
Use the "add-label" macro: http://www.adaptavist.com/display/USERGUIDE/add-labe...Use the "add-label" macro:
http://www.adaptavist.com/display/USERGUIDE/add-label+macro
You can get it from the Confluence Plugin Repository, I think the plugin is called "Label Tools" or something like that.
Aug 11, 2006
Stefan says:
Hey Andy, is it possible to search for an attribute e.g. author with a specific...Hey Andy,
is it possible to search for an attribute e.g. author with a specific value? It would be almost the same as the metadata report except for getting only a specific author not ALL authors in a list.
Or is this already possible and i dont get it?
Aug 11, 2006
Andy Armstrong says:
There isn't a variant of metadata report that allows you to specify search attri...There isn't a variant of metadata report that allows you to specify search attributes, but that is a great idea. It would be a combination of metadata-report and metadata-matches.
You probably know that you can use Confluence search with the metadata keyword:
but that isn't really what you are looking for.
You can report a feature request here:
http://developer.atlassian.com/jira/browse/META
but I have to warn you that I haven't had any time recently to work on the plugin. My startup was acquired a couple of months ago so I am swamped in integration projects.
Aug 14, 2006
Pascal Alberty says:
Hi, first, thanks for your great pluglin. I have a question concerning i...Hi,
first, thanks for your great pluglin.
I have a question concerning it using it trying to display information given by other plugins (
{rate}and
{page-info}).
I'm using it this way:
1. defining meta-data
{rate:title=Votre évaluation|theme=dynamic} {metadata:Evaluation|hidden=true}{rate:display=percentage}{metadata} {metadata:Versions|hidden=true}{page-info:current-version}{metadata}2. Using them in a report
{metadata-report:Page,Evaluation|pages=@descendants|sort=Evaluation desc| maxResults=5} {metadata-report:Page,Versions\|pages=@descendants\|sort=Versions desc\| maxResults=5}Evalution is a number (between 0 and 100) and Versions is a number (last version number for the page) but representing with a href linking the page last version.
It's working (almost) well. Information are well displayed, unfortunately, sorting is not working. Is there a way to force these data to be sorted ?
Thanks a lot
Sep 26, 2006
dieter says:
Did you find a solution? I have the same issue. It's great plugin, but no sortin...Did you find a solution? I have the same issue. It's great plugin, but no sorting on numbers stocked by rate plugin. I need this fix or feature for a confluence setup for company. Or is there another way to accomplish this functionality?
Thanks in advance.
Sep 26, 2006
Alberty Pascal says:
My solution was to implement a (very) specific plugin to solve my needs. The pr...My solution was to implement a (very) specific plugin to solve my needs.
The problem is Metadata plugin is using body content to sort but BEFORE rendering. So, the sorted text is always the same when using another plugin as data source.
Please note that I simplify the problem ... and I was not able to modify the Metadata plugin to encountered my needs.
See you and sorry
Sep 26, 2006
Guy Fraser says:
The Advanced Search Plugin might do what you are after as it has built-in suppor...The Advanced Search Plugin might do what you are after as it has built-in support for ratings.
Sep 26, 2006
dieter says:
Thanks for the quick responses!Thanks for the quick responses!
Feb 05
Manoj says:
hi Guy, is there any other way to address this issue rather then using search m...hi Guy,
is there any other way to address this issue rather then using search macro? actually i am facing the same issue and i already have a search macro placed on that page. so i cant have any more search macro on this page.
–
Manoj
Aug 14, 2006
Stefan says:
Hey Andy, how can it be done to create metadata labels, which cannot be changed...Hey Andy,
how can it be done to create metadata labels, which cannot be changed by a user. user are only alowed to
change the value. I think this is a great need for businesses!
Thanks!
Aug 14, 2006
Kelsey Grant says:
Making it completely form-based isn't yet possible, but may come in the future (...Making it completely form-based isn't yet possible, but may come in the future (depending on the business of certain individuals
)
In the mean time, your best bet IMHO is to use a combination of templates with template variables, the add-label and choose-label macro, and the create-page macro. The combination of this lot creates quite a powerful combination.
Aug 19, 2006
Pascal Alberty says:
What are data types allowed in *type* argument for metadata-report ?What are data types allowed in *type* argument for metadata-report ?
Oct 28, 2006
Mircea Botez says:
Any news as to what happened to the metadata-scaffold integration?Any news as to what happened to the metadata-scaffold integration?
Oct 28, 2006
David Peterson [CustomWare] says:
It's still coming - takes a while when you can only do it in your spare time...It's still coming - takes a while when you can only do it in your spare time...
Oct 31, 2006
Tim Colson says:
Is it possible in the report macro to limit to Children pages and use a label? E...Is it possible in the report macro to limit to Children pages and use a label? Example, I want to get all pages labeled "active" but not for the entire space/site.
Cheers,
Timo
Oct 31, 2006
Kelsey Grant says:
labels=active|type=@children should do the tricklabels=active|type=@children should do the trick
Oct 31, 2006
Tim Colson says:
Thanks! The trick is pages=@children. I didn't notice that in the docs – t...Thanks! The trick is pages=@children. I didn't notice that in the docs – thanks for pointing me in the right direction!
Oct 31, 2006
Phil Gianuzzi says:
Hello, Is there a way to specify how short or long it takes for meta-data repor...Hello,
Is there a way to specify how short or long it takes for meta-data report to update itself? I'm using it with the testplansummary macro. It seems to take over an hour for the report to update any changes done to the meta-data. Is this an issue with the testplan macro, or some sort of setting I'm unaware of?
Otherwise, this is an incredibly useful plugin.
Thanks,
Phil
Oct 31, 2006
Kelsey Grant says:
Hi, It should be immediate. Every time the report is run, it accesses the confl...Hi,
It should be immediate. Every time the report is run, it accesses the confluence APIs to find the pages and the metadata associated with it. I am not sure what could be causing that.
Oct 31, 2006
Andy Armstrong says:
Hi Phil, As Kelsey says, the report should be immediate. I've never heard of th...Hi Phil,
As Kelsey says, the report should be immediate. I've never heard of the report being out-of-date like this.
Note that the metadata is only added to the page when the page is viewed, so if you have a way of updating the page without viewing it that might cause the problem. If this is it, you should vote on this issue:
http://developer.atlassian.com/jira/browse/META-12
The only other thing I can think of is that this might be related to the content indexing. Does your dashboard show the new change immediately in the "Recently updated" section, or does it also take an hour to refresh? You may have some performance problems with your install such as too little memory available for the reindexer.
Let me know if neither of these are your problem and I'll investigate some more.
Cheers,
Nov 06, 2006
Phil Gianuzzi says:
Hello Andy, So I looked into what you suggested and it seems that using the tes...Hello Andy,
So I looked into what you suggested and it seems that using the testplansummary doesn't change immediately (if at all, still waiting out the hour) the "Recently updated" section. However I went back and just tried adding some meta-data by hand and the report updates fine. I'll just recreate the summary by hand. I suppose this doesn't exactly answer the 'why' of it not working, but at least now I know where the issue was and how to avoid it. If I run into any instances of it not updating again I'll be sure to check if the page is updating as well.
Thanks for the quick response and the help!
Phil
Nov 09, 2006
Rajendra says:
Hi Andy / Kelsey, First of all, thank you for providing such wonderful plugin. ...Hi Andy / Kelsey,
First of all, thank you for providing such wonderful plugin.
In our Company, we have pretty large installation of Confluence Wiki (around 1000 wiki spaces). And some of users really like to use the macro to the full extent. In relation this we have following few questions:
How does the meta-data plugin work?
a) If there are 100 pages in given wiki space and only 5 are using meta-data, then how many pages are scanned every time to collect statistics?
{metadata-report:Page, Excerpt,Hours,Cost|maxResults=10|sort=Cost}b) If there are 100 pages in wiki space, 50 with meta-data, but only 5 match a specific label, then how many pages are scanned every time to collect statistics?
{metadata-calculate:Hours,Cost|labels=in-progress}c) Are macros such as metadata-calculate and metadata-report cached in some way or fully calculated every time that page is loaded?
d) How we can find content with no labels, in the metadata-report/calculate macros?
e) What other recommendations should we follow to make best use of the medatata plugin without hurting the server's performance?
I have seen the note "all metadata is indexed" in plugin description. But not sure if it answers my questions.
Will appreciate all tips for making best use of this plugin.
regards,
Rajendra
Nov 09, 2006
Kelsey Grant says:
Hi Rajendra, Essentially the plugin translates the labels/pages properties into...Hi Rajendra,
Essentially the plugin translates the labels/pages properties into confluence API calls to locate pages. While these calls are in principle indexed, certain things can really degrade performance. The best way to explain it is through the available calls:
page.getChildren()
and
PageManager.getPagesByLabel(String label)
The implication of this is that if you simply say 'all with a single label', it's a single query, and it should be fast. However, the more you layer stuff (say, only children with label X and label Y) the more it starts to process stuff in memory. In this case here, it will fetch all of the children, and then iterate over them checking to see if they have label X AND label Y.
Some other scenarios of interest:
After locating the pages, it will then generate the report. If no metadata exists, that filtering is done at the end (i.e., slow).
In summary, USE LABELS!! as they are the only indexed thing - but this is not guaranteed to go fast! I would love to get access to the HQL layer in confluence and do stuff more directly, but I don't think we can do that.
THe reports and calculation macros are recalculated every time. This is because the metadata is stored only on the page itself, so there's no way to 'invalidate' the cache. You could I guess toss in a time-based thing.
You can't explicitly search for stuff with no labels, or without a particular label at this time.
Nov 09, 2006
Bob Swift says:
Add you can always use the Cache Macro to control how often the calculations get...Add you can always use the Cache Macro to control how often the calculations get done.
Nov 09, 2006
Rajendra says:
Hi Kelsey / Bob, Thank you for suggestions. I guess moderate use of Metadata pl...Hi Kelsey / Bob,
Thank you for suggestions.
I guess moderate use of Metadata plugin ( with Cache plugin wrapping) will be good choice.
Will update you folks on how it goes.
Thanks again for making these plugins available.
cheers,
Rajendra
Nov 28, 2006
Damon Rand says:
Hi there, We need to be able to provide groupBy for a metadata-report.. D.Hi there,
We need to be able to provide groupBy for a metadata-report..
D.
Nov 28, 2006
Andy Armstrong says:
Hi Damon, That's a great idea. Please create a feature request here: http://de...Hi Damon,
That's a great idea. Please create a feature request here:
http://developer.atlassian.com/jira/browse/META
and describe in as much detail as you can exactly how you'd like to see this work.
Thanks,
Dec 14, 2006
Sean Eamon Kennedy says:
I was having an updating problem myself, ala Phil's post, dated Nov 6th. In my ...I was having an updating problem myself, ala Phil's post, dated Nov 6th.
In my case it turns out the label for the metadata in the report had different capitalization from the metadata-list. I.e. report included "Status", but the list had "status".
The report worked fine for the first instance of a page with the metadata-list, but then refused to update. I changed the metadata-list to "Status" and now the updates work fine.
Just an f.y.i.
(and why can't we reply to existing posts?)
Jan 10, 2007
Mike says:
I've tried installing this with Confluence 2.3 but get the following error: Met...I've tried installing this with Confluence 2.3 but get the following error:
Metadata Extractor
Extracts any metadata attached to each page and adds it to the search index.
Error: There was a problem loading the descriptor for module 'extractor' in plugin 'Metadata Plugin'. Error retrieving dependency of class: com.pantero.confluence.plugins.metadata.MetadataExtractor. Missing class: bucket/search/lucene/Extractor
I've raised META-44 for this issue.
Jan 23, 2007
David Aldrich says:
Is there a fix for the metadata plugin with Confluence 2.3?Is there a fix for the metadata plugin with Confluence 2.3?
Jan 24, 2007
Andy Armstrong says:
Hi David, Unfortunately I haven't had time to upgrade to Confluence 2.3, so I h...Hi David,
Unfortunately I haven't had time to upgrade to Confluence 2.3, so I haven't looked into this problem yet. It has been reported, and Garrett Conaty kindly attached a patch to the issue in JIRA:
http://developer.atlassian.com/jira/browse/META-44
I'm communicating with Jonathan Nolen at Atlassian to see if there's something that can be done to fix this up.
Sorry for the problem,
Jan 25, 2007
David Aldrich says:
Hi Andy, thanks very much for providing this plugin and for your efforts to fix ...Hi Andy, thanks very much for providing this plugin and for your efforts to fix it for 2.3. David
Jan 25, 2007
Flash says:
Hello Andy. Thanks for creating and sharing this plugin (and thanks to the...Hello Andy. Thanks for creating and sharing this plugin (and thanks to the other contributors as well.) It adds just enough "database" capability to Confluence pages to give us a lot of options for presentation without getting too close to a "real" RDBMS. I've been experimenting with your plugin combined with the scaffold/live-template plugin and found an interesting conflict (documented it on Atlassian's Jira as [CSP-6776|https://support.atlassian.com/browse/CSP-6776]) I think this might be worth trying to fix. I'm not a developer, but if I can help with additional info, please let me know. Best regards. Don
Jan 25, 2007
David Peterson [CustomWare] says:
Unfortunately, neither Bob nor myself can view issues raised in Atlassian's supp...Unfortunately, neither Bob nor myself can view issues raised in Atlassian's support JIRA instance. It would be best to raise the issue either in the Metadata JIRA project or the Scaffolding JIRA project.
For the record, we do want to make them more compatible, but it hasn't yet been completed. But the specifics of the issue you found will help when we're implementing the compatible versions.
Feb 07, 2007
David Aldrich says:
Is there any news of progress for making the Metadata plugin compatible with Con...Is there any news of progress for making the Metadata plugin compatible with Confluence 2.3?
Mar 09, 2007
Joaquin Obieta says:
Is there a way to have a metadata report list multiple values of a single metada...Is there a way to have a metadata report list multiple values of a single metadata tag?
For example, I have a page with metadata tag called "projectStatus" and I want the report to list ALL the values of that tag in the page, not just the last one.
The reason I have a generic tag and not "project1Status" is that the number of projects on a page is variable.
Along those lines, it would be nice if we could use general expressions such as "projectStatus*" to include all metadata tags that match on the page.
Any ideas? Should I open a request in JIRA?
Mar 14, 2007
Andy Armstrong says:
Hi Joaquin, There is already a JIRA issue reported for this: http://developer....Hi Joaquin,
There is already a JIRA issue reported for this:
http://developer.atlassian.com/jira/browse/META-2
Please vote for it, and add a comment describing your own use case and how you had hoped it would work.
Thanks,
Apr 07, 2007
Ramon M. Felciano says:
I am evaluating Confluence as a tool to help track progress on large features or...I am evaluating Confluence as a tool to help track progress on large features or initatives that span multiple releases. I've been using a spreadsheet for this so far, but it is unwieldy, limited in its ability to, and doesn't have the shared community feel that Confluence does. However, the tabular format does let me track and roll up progress over time and releases, and I'd like to see if I can get the same type of executive dashboard functionality through a wiki-based implementation.
For example, if we are planning to move off of Oracle to Postgres across a multiple release timeframe, I'd like to set up a page for that "feature" and track it using something like (ignoring the metadata tag):
I'm not wed to the syntax – other possibilities are:
or
But the key is that I would then like to be able to roll this up into a report
Is there a way to do this using a clever combination of page structure and metadata plug in use? I've been trying to get it working but can't figure out how to roll up the data into a report like the one above. This may be because it rolls up across rows and tables (similar to a pivot table). Any ideas?
Thanks,
Ramon
Apr 07, 2007
David Peterson [CustomWare] says:
Have you investigated using JIRA for this? It's generally much better suited to ...Have you investigated using JIRA for this? It's generally much better suited to tracking this kind of information.
However, if you want to use Confluence, I'd suggest a combination of the Scaffolding Plugin, the Linking Plugin and the Reporting Plugin.
|| Name | {report-info:content:title} | || v1-Completed | {number-data:v1-Completed|minValue=0|maxValue=100}{number-data} | || v2-Completed | {number-data:v2-Completed|minValue=0|maxValue=100}{number-data} | || v3-Completed | {number-data:v3-Completed|minValue=0|maxValue=100}{number-data} |(+) {add-page:template=Feature Template|live=true}Add a new feature{add-page}{report-table} {current-item-reporter:content:children} {text-sort:content:title} {current-item-reporter} {report-column:title=Name}{report-info:content:title|link=true}{report-column} {report-column:title=v1}{report-info:data:v1-Completed}%{report-column} {report-column:title=v2}{report-info:data:v2-Completed}%{report-column} {report-column:title=v3}{report-info:data:v3-Completed}%{report-column} {report-empty} _There are currently no features available._ {report-empty} {report-table}Jul 19, 2007
Mohammed says:
Hi David, I have to implement something like the example you have shown above. ...Hi David,
I have to implement something like the example you have shown above. So I tried out the sample code above, but the parent page does not list down any values and the cells supposed to contain data is blank?
Another couple of questions: -
1. Is it possible to populate a dropdown in scaffolding dynamically. Say for e.g. I want to populate a drop down in a page with the title of all its child pages.
2. What version of reporting and scaffolding plugin I need to run this example?
Your early response is highly appreciated.
Thanks,
Mohammed
Jul 19, 2007
David Peterson [CustomWare] says:
The first column in the report ("Name") will be a clickable link to the child pa...The first column in the report ("Name") will be a clickable link to the child page the data comes from.
As for which version, as always, I recommend the most recent version of both, which will require Confluence 2.3 or greater.
Jul 19, 2007
Mohammed says:
Hi David, Thanks for your response. 1. Using the above example code the o...Hi David,
Thanks for your response.
1. Using the above example code the output that is rendered does not list down the values in the output table in the parent page. Yeah I do have the links to the child pages but the number data fields do not get output in the parent page.
2. Is it possible to dynamically populate a drop down in scaffolding? Say for e.g. I want to populate a drop down in a page with the title of all its child pages as its values.
Waiting eagerly for your response.
Thanks,
Mohammed
Jul 19, 2007
David Peterson [CustomWare] says:
Hi Mohammed, 1. I've created an example of the above code here and it seems to ...Hi Mohammed,
1. I've created an example of the above code here and it seems to work fine. Make sure the data name and the 'data:name' match up between the child pages and the report page.
2. Yes it is - check out the list-data and content-options macros.
This isn't really the appropriate place to be discussing Scaffolding/Reporting implementations. Could you post any further queries on this page instead?
Jul 23, 2007
Mohammed says:
Hi David, Thanks for your response. I figured out that the reason it was not w...Hi David,
Thanks for your response.
I figured out that the reason it was not working for me was because I had been using Scaffolding 1.4. The code works fine for me in Scaffolding versoin 2.3.
Thanks,
Mohammed
Jun 01, 2007
Subir Sud says:
Are there any issues depolying this plugin in a clustered environment? (Wiki ins...Are there any issues depolying this plugin in a clustered environment? (Wiki installed on 2 nodes)
Jun 05, 2007
Ross Sharrott says:
Is there a way to sum multiple metadata-calculate? I'm attempting to make a vir...Is there a way to sum multiple metadata-calculate? I'm attempting to make a virtual billing board where each salesman puts in there billing for the month on a child page. I then show those numbers on a parent page in reports and charts. I'd like to do something like:
{metadata-calculate:January Earned} +{metadata-calculate:February Earned} + {metadata-calculate:March Earned}And display the total in a chart for 1st Quarter Results. Is this possible?
Jun 05, 2007
James Matheson says:
There is an undocumented macro in the Metadata plugin called 'metadata-table' th...There is an undocumented macro in the Metadata plugin called 'metadata-table' that I wrote to do exactly what you have in mind.
You can see an example of it in my 'Business Development Portal' demonstration site at http://wiki.saikore.com/display/urg/Home
An example usage is:
{metadata-table:y=Account|x=Date|value=Sales|label=sales_graph|key=urg}
Where 'x', 'y' and 'value' are metadata values, extracted from pages with the 'sales_graph' label in the 'urg' space. The result of this example will be to plot a line of sales values for each account where the date is the along the x axis.
Unfortunately there is an unresolved bug that seems to have crept in since Metadata2 which makes the date legends output badly.
Jun 05, 2007
Ross Sharrott says:
Thanks for the suggestion, but I don't think that would quite work for me. My u...Thanks for the suggestion, but I don't think that would quite work for me.
My user's data is all on one page with their name, team, and office followed by all the months
ie:
etc.
Because these are summary numbers, having a separate page for each month would confuse my users, but i'd like to be able to add the monthly totals for everyone together and then use that for a graph.
Thanks for the help
Jun 06, 2007
Ramon M. Felciano says:
Is there a way to generate a metadata for all pages that have a particular key v...Is there a way to generate a metadata for all pages that have a particular key value? I have a list of user goals, each with its own page collected under a User Needs parent, and a list of product ideas, each with its own page collected under a FeatureIdeas parent. The feature ideas map to user needs in a many-to-many fashion, and I would like to maintain links between the two.
Specifically, I would like to annotate each Feature Idea page with a "Addresses User Goal" metadata field and list out the page names for whatever user goals that idea might address. I would then like to add a metadata report to each User Goal page that lists out all feature ideas that could address that goal. So that report should include all pages that (a) are under the FeatureIdeas parent, (b) tagged with Addresses User Goal metadata, and (c) have this particular user need as the value of that metadata field. Is there any way to do that? Can get (a) and (b) with the root, pages and key tags, but I'm not sure how to do (c).
I think what I'm looking for is something like this:
{metadata-report:Page,Author(s),Version,User Need | root=OurProduct:FeatureIdeas | pages=@children | key=Addresses User Goal | keyvalue=@page }but AFAIK there is nothing like a keyvalue tag. Any ideas?
Jun 15, 2007
Marc Van Doorselaere says:
Hi, I try to use the entered metadata as variables for other plugins, but this ...Hi,
I try to use the entered metadata as variables for other plugins, but this doesn't seem to work.
Example :
{metadata-list} ||Table|tblUser| ||Datasource|DS| {metadata-list}combined with the SQL plugin:
{sql:dataSource={metadata-from:Datasource}|output=wiki|showSql=true} select sc.colid, sc.name, st.name as Fieldtype ,sc.length from syscolumns sc inner join sysobjects so on so.id = sc.id inner join systypes st on sc.xtype = st.xusertype where so.name = '{metadata-from:Table}' order by sc.colid {sql}The metadata-from macro is not executed. The same happens when i put the SQL in a usermacro and i want to give the name of the table through the metadata as parameter.
{cimsqltable:{metadata-from:Datasource}|{metadata-from:Table}}Any idea ?
Thanks,
Marc
Jun 15, 2007
Kelsey Grant says:
Yeah, that isn't going to work. The reason is that those are parameters to other...Yeah, that isn't going to work. The reason is that those are parameters to other macros, so each of those other macros would then have to take those parameters, and interpret them through Confluence's engine. Generally people don't do this.
Unfortunately what you're trying to do (use it for variables) isn't well supported by the macro.
Jun 29, 2007
Drew says:
Can I access a page's metadata using Velocity? I'm modifying the PDF Expor...Can I access a page's metadata using Velocity? I'm modifying the PDF Export templates and would like to pull some metadata values into the header.
Jun 29, 2007
Gary Catalano says:
I'm having a problem with sorting. For some reason, the metadata-report fu...I'm having a problem with sorting. For some reason, the metadata-report function sorts my pages 85% correctly, but has a few that appear totally out of order.
I tried using the |sort= asc/desc but the same pages appear misplaced.
Anyone else see this? Any ideas?
Jul 01, 2007
Kelsey Grant says:
What is the data you are trying to sort? It's not very smart, it just does a dic...What is the data you are trying to sort? It's not very smart, it just does a dictionary sort so if you have numbers, they don't get converted.
Jul 01, 2007
Andy Armstrong says:
Actually, it does handle numbers and dates properly, or at least it is intended ...Actually, it does handle numbers and dates properly, or at least it is intended to. It only uses alphabetical sort if it doesn't recognize the data in the fields. If you could provide me with the values that are sorting incorrectly, I can write a regression test to see what is going on.
Thanks,
Jul 20, 2007
Daniel Landmann says:
Hi Andy, we've got a simmilar problem. In a metadata-report we try to sort the ...Hi Andy,
we've got a simmilar problem. In a metadata-report we try to sort the report by page. But it only works for about 85% of the pages. All the rest appears at unexpected locations within the report
I assume the problem is, that the pagetitles looks like this "jjjjmmtt_01_projectname" e.g. "20070720_01_testproject".
Do you have any idea how I could solve the problem?
Somehow strange is the fact that it can be sorted 100% correct by using the table-plus macro and clicking on the column-header. So it should be possible by just using the metadata report as well...
Thanks,
Daniel
Jul 10, 2007
Russell Warren says:
I'm having trouble getting the root parameter to work in some metadata-report at...I'm having trouble getting the root parameter to work in some metadata-report attempts. None of these work, but I think they should:
{metadata-report:Project Name, Brief Description, Account|root=URW:ADP|sort=Project name|link=Project name} {metadata-report:Project Name, Brief Description, Account|root=URW:ADP|sort=Project name|link=Project name|pages=@children} {metadata-report:Project Name, Brief Description, Account|root=URW:ADP|sort=Project name|link=Project name|pages=@descendants}The "not working" appearance is that I am only getting metadata from children of the report page, not my specified root.
One quirk is that I previously did have the report working nicely without specifying a root (ie: @self default with source pages as direct children), and I decided later to relocate the metadata source pages so I could have two reports on the same page with different data (and not require page labelling of children).
Am I doing something dumb, or is it that I'm running into some metadata storage voodoo problem that has me stuck in the old mode? How would I correct this?
Also - I'm stuck on v1.5 due to us lagging in upreving our confluence installation.
Jul 23, 2007
Bill Callahan says:
I have two suggestions for the Space Hierarchy: Make the display into a tree c...I have two suggestions for the Space Hierarchy:
Bill
Jul 25, 2007
Bradley Mock says:
When performing an HTML export of a page that is using the metadata-report the c...When performing an HTML export of a page that is using the metadata-report the content is returned, but the links do not work. For instance, <<metadata-report:Page,Excerpt|label=NewLabel>> would return all the pages with the "NewLabel" tag, but I wouldn't be able to click to any of them in the exported HTML file.
Jul 26, 2007
Nana says:
Metadata is great, thanks for coming up with it. However what I am having diffic...Metadata is great, thanks for coming up with it. However what I am having difficulty doing which I am sure there is an easy way to tackle it (but a genious would have to come up with it, certainly not I) is
Just getting the number of pages returned in the Metadata-report
For example I have
With values populated. I will just a like to get a total of the pages returned in this metadata report. Is this possible.
Metadata matches is similar but doesnt quite get it done.
Thanks
Jul 26, 2007
Brian Yakura says:
Can anyone show an example of how Macro keyword key works? Can't seem to find an...Can anyone show an example of how Macro keyword key works? Can't seem to find any good explanation of this, and I am winding up doing my filtering using the labels Macro keyword to do filtering
Aug 26, 2007
Ki Alam says:
is it possible to pass metadata to a beanshell script, or for the script to acce...is it possible to pass metadata to a beanshell script, or for the script to access metadata on an arbitrary page? Thanks!
Sep 03, 2007
Mel Nepomuceno says:
Hi Are multiple metadata-list supported in a single page? In a single page I ne...Hi
Are multiple metadata-list supported in a single page? In a single page I need to display 3 tabular list (each bounded with a metadata-list macro). In the summary (parent) page I want to display the contents of of there pages also in 3 tabular list also.
I suspect that multiple metadata-list in single page is not supported because I am only able to successfuly display the fist tabular list in the summary page. The second and third tabular display blank table (all the table columns and rows are are blank except for the Page column which is properly populated)
I have attached the codes for the the two pages (child and parent pages). In the code example below:
{hidden-data} {note:title=Vendor Software Release Capability} * TYPE: Live template * USED BY: Vendor Software Release Page {note} {hidden-data} h1. Capability Checklist {section} {column:width=30%} {panel:title=Mandatory Features|borderStyle=solid|borderColor=gray|titleBGColor=lightgray|bgColor=white} {group-data:name=Mandatory} {metadata-list} | Import PIT | {list-data:Import PIT}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Send PIT | {list-data:Send PIT}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Import RSD | {list-data:Import RSD}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Send RSD | {list-data:Send RSD}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Import RRI | {list-data:Import RRI}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Send RRI | {list-data:Send RRI}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Import LAB2 | {list-data:Import LAB2}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Send LAB2 | {list-data:Send LAB2}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Import LAB2 ACK | {list-data:Import LAB2 ACK}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Send LAB2 ACK | {list-data:Send LAB2 ACK}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Default directory | {list-data:Default directory}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Use of PRD-1 | {list-data:Use of PRD-1}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | Accredited | {list-data:Accredited}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | {metadata-list} {group-data:Mandatory} {panel} {column} {column:width=30%} {panel:title=Recommended Features|borderStyle=solid|borderColor=gray|titleBGColor=lightgray|bgColor=white} {group-data:name=Recommended} {metadata-list} | *Vendor name in MSH-3* | {list-data:Vendor name in MSH-3}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Vendor Software version in MSH-3* | {list-data:Vendor software version in MSH-3}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Message version in MSH-12* | {list-data:Message version in MSH-12}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *MSH-11 Processing ID* | {list-data:MSH-11 Processing ID}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Standard date-time stamp* | {list-data:Standard datetime stamp}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Trasmission error log file* | {list-data:Transmission error log file}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Message status screen* | {list-data:Message status screen}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Message ID in status screen* | {list-data:Message ID in status screen}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Holding folder for rejected messages* | {list-data:Holding folder}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Microsoft Vista compatible* | {list-data:Vista}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | {metadata-list} {group-data:Recommended} {panel} {column} {column:width=30%} {panel:title=Nice To Have Features|borderStyle=solid|borderColor=gray|titleBGColor=lightgray|bgColor=white} {group-data:name=Nice} {metadata-list} | *Integration guide* | {list-data:Integration guide}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Automatic matching of patient* | {list-data:Automatic matching}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | | *Test message included* | {list-data:Test message}{list-option}(!){list-option}{list-option}(-){list-option}{list-option}(x){list-option}{list-option}(/){list-option}{list-data} | {metadata-list} {group-data:Nice} {panel} \\ \\ \\ \\ \\ {panel:title=Status|borderStyle=none} | (-) | Not Applicable | | | (!) | Not Tested | | | (x) | Failed | Incomplete | | (/) | Passed | Completed | {panel} {column} {section} h3. Notes (i) Include relevant notes related to these set of capabilities. \\{text-data:Capability Checklist Notes|type=area|width=800px|height=10em}{text-data}{anchor:vendor summary} h1. Vendor Summary \\ | (i) *Go to:* | [Open Issues|#open issues] | [Release Summary|#release summary] | \\ {metadata-Report:Page,Software,User Base,Milestones Completed|label=vendor+company|sort=User Base+Page} \\ | (i) *Go to:* | [Open Issues|#open issues] | [Release Summary|#release summary] | [Top of Vendor Summary|#vendor summary] | \\ {anchor:open issues} h1. Open Issues \\ | (i) *Go to:* | [Vendor Summary|#vendor summary] | [Release Summary|#release summary] | \\ {metadata-report:Page,Issue,Software,Version,Release,Severity,Priority,Raised By,Date Raised,Assigned To,Target Date,Status,Status Date|label=vendor+issue+open|sort=Page} \\ | (i) *Go to:* | [Vendor Summary|#vendor summary] | [Release Summary|#release summary] | [Top of Open Issues|#open issues] | \\ {anchor:release summary} h1. Release Summary \\ | (i) *Go to:* | [Vendor Summary|#vendor summary] | [Open Issues|#open issues] | \\ h3. Mandatory Features {metadata-Report:Page, Software, Release Date, Import PIT,Send PIT,Import RSD,Send RSD,Import RRI,Send RRI,Import LAB2,Send LAB2,Import LAB2 ACK,Send LAB2 ACK,Default directory, Use of PRD-1, Accredited|pages=@descendants|label=vendor+software+release} \\ | (i) *Go to:* | [Vendor Summary|#vendor summary] | [Open Issues|#open issues] | [Top of Release Summary|#release summary] | \\ h3. Recommended Features {metadata-Report:Page, Software, Release Date, Vendor name in MSH-3, Vendor Software version in MSH-3, Message version in MSH-12, MSH Processing ID, Standard date-time stamp, Transmission error log file, Message status screen, Message ID in status screen, Holding folder for rejected messages, Microsoft Vista compatible|pages=@descendants|label=vendor+software+release} \\ | (i) *Go to:* | [Vendor Summary|#vendor summary] | [Open Issues|#open issues] | [Top of Release Summary|#release summary] |Nov 15, 2007
Nana says:
Has anyone found the answer to whether multiple metadata list tags can sit on th...Has anyone found the answer to whether multiple metadata list tags can sit on the same page? Thanks
Nov 15, 2007
Mel Nepomuceno says:
I have not gotten anything from the others. As a work around I went to eac...I have not gotten anything from the others. As a work around I went to each data item in the list (table) and bounded each of them with metadata macro. Very cumbersome but it worked meaning the data was displayed in the metadata report table in the parent page.
Nov 15, 2007
Mel Nepomuceno says:
I have not gotten anything from the others. As a work around I went to eac...I have not gotten anything from the others. As a work around I went to each data item in the list (table) and bounded each of them with metadata macro. Very cumbersome but it worked meaning the data was displayed in the metadata report table in the parent page.
Sep 06, 2007
Pramod Kumar says:
I want to add values from multiple metadata fields. i.e I want to sum up values ...I want to add values from multiple metadata fields. i.e I want to sum up values from 2 metadata fields demand and supply. I tried
Sep 20, 2007
Dan Hardiker says:
Anyone know where the source for anything past v1.6? There is a branch for "v2.0...Anyone know where the source for anything past v1.6? There is a branch for "v2.0", but that's actually "v1.5-DR1" ... and the trunk is v1.6 apparently. It's also running on maven 1 (but that's easily corrected).
The main point is: where do I find the source for the latest version?
Sep 20, 2007
Andy Armstrong says:
Hi Dan, Unfortunately I received a new laptop a few months back and haven't had...Hi Dan,
Unfortunately I received a new laptop a few months back and haven't had the time to reinstall my development environment to get back to working on the plugin. I've given the source out to a couple of guys and suggested they check it in, but so far I don't believe it has been.
For simplicity's sake, I'm attaching my latest zip to this page. Let me know if you need more details. Also, if you wanted to put it into Subversion for me, that would be awesome.
Sorry about this,
Sep 21, 2007
James Mortimer says:
Anybody wanting to see a 'NOT' implemented in the metadata-report labels paramet...Anybody wanting to see a 'NOT' implemented in the metadata-report labels parameter for this plugin, as one of the first enhancements whenever development picks up again, please vote for this request:
http://developer.atlassian.com/jira/browse/META-48
Oct 01, 2007
Jay Hariani says:
MD 2's metadata-list macro seems to be broken in Confluence 2.6 It returns the f...MD 2's metadata-list macro seems to be broken in Confluence 2.6 It returns the following error when a user attempts to save a page it is on:
Cause:
org.springframework.transaction.UnexpectedRollbackException: Transaction has been rolled back because it has been marked as rollback-only
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:469)
Oct 03, 2007
Jonathan Nolen says:
Yep – we're tracking this bug here. Feel free to vote for it, or watch it ...Yep – we're tracking this bug here. Feel free to vote for it, or watch it for updates.
Cheers,
Jonathan
Oct 08, 2007
neeraj says:
I am unable to call metadata-report macro within the graph-from-table macro. Doe...I am unable to call metadata-report macro within the grap