Any hints for implementing a directory of projects?
Asked by labedzkim:

Dear All,

asking a question first seems better than starting a discussion as there may already exist a comprehensive tutorial for my problem.

I need to build an explorable/searchable directory of ongoing and archived projects in a software developing organization. IMHO, the requirements are not 'rocket science' and I hope someone has been already solving similar issue. The minimal functionality would be:

* ability to describe a single project with multiple characteristics, for example:
  * team size, contact, project home-page, documentation location,
  * technology (Java, Python, etc.),
  * framework (JEE, Django, etc.),
  * and many others.
* list all projects and show project details
* filter projects by specific characteristic (e.g. team size, technology)
* show people involved in a project
* show project done by a person

Why such a directory is needed? Because projects are hosted in different environments (own, Github, etc.) and the organization lacks an overview of the whole software development efforts.

Thank you in advance!

Maciej


Answers:
author: Thomas Schlegel
body: Hi Maciej,

there is no easy answer for all of your questions, the one that is doing it all, but I'll try to give you some hints.

I would create a space for your projects and create two main pages:

* ongoing projects
* archived projects

Then I would create a template for your project pages, so each project page looks the same. Use page properties for your content:

![projecttemplate.png](https://community.atlassian.com/t5/image/serverpage/image-id/1978i2656632D45F6730E/image-size/large?v=v2&px=999 "projecttemplate.png")

Then create your project pages (under ongoing projects) and add the label "ongoingproject" to your new page.

Then edit your page "ongoing projects". Put the macro "Page Properties Report" on that page:

![projecttemplate2.png](https://community.atlassian.com/t5/image/serverpage/image-id/1979i96B07BE0A08D56A8/image-size/large?v=v2&px=999 "projecttemplate2.png")

With this, you can list all your projects in the page properties report.

... to be continued ...

comments: author: Thomas Schlegel
body: Filtering these project pages is not easy without any plugin.

I would add some more pages, e.g. "projects by technology"

On that page, you could add several "page properties report"-macros like that:

![projecttemplate3.png](https://community.atlassian.com/t5/image/serverpage/image-id/1984i778ABEE4A2B8A602/image-size/large?v=v2&px=999 "projecttemplate3.png")

Each of these macros list the projects where "myframework" is included in this example.

To keep the page clear, you can add the page properties report into an expand macro.

It is a little bit cumbersome, I know.

We do something similar with two plugins: "Scaffolding Forms \& Templates" and "Reporting". They are not for free and programming, especially with reporting is not so easy to understand, but once you understood the functionality, they work fine together.

With Scaffolding, you create templates and forms, so every project page has the same fields and has the same look \& feel. With Reporting, you can create various reports based on your scaffolding data: free form, table, lists, ... what you want.