arquillian/arquillian.github.com — Issue #42: Add Auto matching of Keywords in Guides
Author: aslakknutsen
Created: 2012-01-12 12:02:28+00:00
State: open

Purpose
-----------

* Automate the linking processes for Internal and External resources
* Overview of used projects in guide from jboss and others
* Help promote the other projects
* Help users find e.g. internal module info

How
------

In the simplest form this could be:

```java
Map> keywords;
```

a Awstruct Extension would scan the content of all site guides for matches. Found matches are registered in the Guide Keywords map and the keyword it self is marked in the content.

We can then in the GUI use this information in two ways:

* Show a list in the side bar with 'referenced projects'
* Mark the keyword in the content it self

Both of those 'links' could show matched ResourceLink's.

And then to the interesting part, how to build the keyword lists:

* Extension to populate the Keywords based on our own Modules (e.g. Name, ContainerName)
* Extension to read the JBoss.org project REST api
* Manually added to a yaml file
* ?

A match on "JBoss AS 7" could show links to:
* The JBoss AS 7 Project Page on jboss.org
* The JBoss AS 7 Arquillian Container Module page
* ?

If done generically, the same could be used to replace manual linking to user names, jira issues...

```java
List matchers;

List match(String content) {
List matches = new ArrayList<>;
for(Matcher matcher : matchers) {
matches.addAll(matches.find(content));
}
return matches;
}
```