Source-Repositories consist of Packages / Releases / Versions / Files etc.
Each web-site has somewhere some code where the html is generated. This is the place where the following functions can be called:
For these each software repository already has unique identifiers. So no special work has do be done here. Just pass the identifier to the functions.
Could be done by adding the possibility to pass lists of above identifiers to the functions. We would then just associate the tag to each file in the list.
Could be done by passing line-number-ranges to files. But as files change, this would only work if we calculate hash-values of files and use those as identifiers.
A better solution might be to add tags into the code (e.g. for c):
//tagbegin:helloworld void main() //tag:function:myfirstmain { printf("Hello world!"); } // tagend:helloworld
//tag:package:mymain
(But we wouldn't know what 'package' actually means, those classes are just like tags, but their intention should be to describe what is tagged here)As already described in tagging source-code directly, this sheme could be taken over to all tags by just saying, that a tag may consist of a description-tag of what kind/part of information is tagged, and then the tag itself:
background image:transparent animation
idea:displaying images with information in background while browsing the net
functionnames:fancy but cool
see also:<a href=“http://somedomain.org” class=“external free” title=“http://somedomain.org” rel=“nofollow”>http://somedomain.org</a>
This could be done by adding a tagger-group-id to each function-call. For example the following id's could be used:
Each Repository-Site probably knows this information and should be able to pass this to my functions.
Well, this will be a simple web-interface for the project-owners. Here tags and class-tags can be corrected, removed and reassigned.
Access-Restriction to this interface should be done however the site does it anyway :) (No user-management will be implemented here!)
The Database-Structure could be as follows:
whatistagged < n --------- n > tag < n ---------- 1 > tag-class | | whoandwhen
I'm not yet sure if this is really neccessary here, maybe the following (even simpler) structure is better here:
whatistagged < 1 ----------- n > tags
Here the tags-table also contains the who, when and class attributes.
Attributes: (id is always the primary-key given from the db)