On 08/04/2009, at 10:22 AM, Felipe Roos da Rosa wrote:


Hi Folks!

I didn't find much information on the topic, but I guess the first one is relative to the artifact itself, and the second is about information that get shown in the user interface (like, browse artifact). I could see that ShowArtifactAction is pretty much based on the ArchivaProjectModel. I also saw that ProjectModelToDatabaseConsumer is reponsible for processing the ArchivaProjectModel information for POM files and insert it into the database. But I did not find a straight path from the UI actions to the ProjectModelToDatabaseConsumer, as I see for ArtifactUpdateDatabaseConsumer, for example.
When does that kind of consumer get called?
Is the information contained in ArchivaProjectModel available on the database only after the ProjectModelToDatabaseConsumer gets called?

Generally through the scans, but there is a trigger via SAA -> DefaultRepositoryBrowsing -> JdoDatabaseUpdater -> DatabaseConsumer (which this implements). So this should occur here if the scan hasn't done it already.


Sorry about the dummy questions, but I'm having a hard time trying to understand the system orchestration.

Not at all, frankly it is too confusing. For this reason we've proposed a set of simplifications to the architecture in the long run. The consumer side is fine, but they find their way into too much of the code rather than being centralised, and the reliance on scanning is too burdensome.

After I get this right, I could provide some more detailed documentation on how to extend Archiva consumers, if you like.

That would certainly be helpful, keeping in mind the caveat above :)

- Brett

Reply via email to