schemacrawler / SchemaCrawler

Free database schema discovery and comprehension tool
http://www.schemacrawler.com/
Other
1.62k stars 199 forks source link

Custome lint outputFileFormat #35

Closed adriens closed 8 years ago

adriens commented 8 years ago

Description

We are using more and more lints on https://github.com/mbarre/schemacrawler-additionnallints and we are begining to have some new needs around lint reporting.

Concept

On the same philosophy than schemacrawler plugins, we'd like to extend custome lint reports and make for example custom html reports. There already is one, but we' d like to be able to create custom ones, for example, by adding charts, scores, and hence, be able to get a real dashboard on our lints.

Does this extension feature already exist ? Can we extend a class, and for example, embed this output format in our custom lint or any other project ?

Thank you in advance for your feedback. We find this idea very exciting by this idea which is linked to #30. With that, we could implement a kind of "sonarq" for database schema !...which would be pretty cool ;-p

adriens commented 8 years ago

we could imagine database quality scores, schema coverage, ... and some nice metrics !

schemacrawler commented 8 years ago

Adrien, one way you could do this now is to use LintedCatalog. An example of how to create a LintedCatalog is in LintExecutable. You can then use Velocity, FreeMarker or some other templating tool to create a custom lint report.

adriens commented 8 years ago

Thanks @sualeh for fast answer : i'm having a look at that now.

schemacrawler commented 8 years ago

Adrien, any updates?

adriens commented 8 years ago

For now, we are focusing on continuous database build and linting. Custom lint reports will be the next thing, after some new lint implementation. At the end of the day, we should get the first automated travis-ci lint.

In the next months i'll show a prezz about database, and we'll detail the whole stuff, ... we'll talk about schemacrawler and linting ;-p

schemacrawler commented 8 years ago

Any updates?

adriens commented 8 years ago

@sualeh : it's in fact the POC of the week. For this week (we dedicate time weekly to open source dev), the goal for michele is to write a dummy template that lists lints in an html file. So, you have some infos/docs about how to access lints from template, this would be very cool.

This will be the first phase. After that, we'll work on the report design, charts, scores, dashboard, maybe, in the future, with responsive design... but, first, the POC.

We probably will have questions for you on this topic.

The next question will be on where to store these templates : we canp put them straight in the debian installer, or in schemacrawler repo in a dedicated directory, or on a separated and dedicated repo.

My vision is that at the end, the templates would be shipped as part of the core software, in a dedicated directory... so people could start contribute to templates in a common place (i really believe in this community based approach).

What do you think about that ?

schemacrawler commented 8 years ago

Great! Please look at the new Linters class, and LintCollector. Between these you, you have all the information needed to produce a report. I would suggest a brand-new project for formatting these lints, since I would like to build up the SchemaCrawler ecosystem. I will link to your new project from the main SchemaCrawler website.

adriens commented 8 years ago

oki @sualeh , that seems to match our approach, so we are going on the same direction. That's perfect. To be totally honest, sometimes it's hard to focus on other tasks than these devs as we are a pretty clear image of the target result : we're just lacking time to produce the software : don't you sometimes feel this kind of frustration ?

schemacrawler commented 8 years ago

Yes, so true!

adriens commented 8 years ago

For now,with michele, we don't really understand how to extend. Could you provide us some guidelines ? Could we do the job only with thymeleaf for example or do we still have to code some java stuff ?

schemacrawler commented 8 years ago

I have created some starter code in sualeh/schemacrawler-dblint-report. Please transfer ownership of this project to you. Thanks.

adriens commented 8 years ago

Thank you very much : that should help us a lot to build a first prototype and better understand how to deal with that.

What do you mean my "transfer ownership of this project to you" ? How do we do that ?

adriens commented 8 years ago

I don't have access to the setting

mbarre commented 8 years ago

Thanks Sualeh, it will be very helpfull !

I don't have access to the settings either to transfert the ownership.

On Mon, Apr 18, 2016 at 7:21 AM, SALES notifications@github.com wrote:

I don't have access to the setting

— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/sualeh/SchemaCrawler/issues/35#issuecomment-211107565

schemacrawler commented 8 years ago

I looked at https://help.github.com/articles/transferring-a-repository/ and I think I would need to be a member of your organization, to transfer ownership. If you cannot transfer ownership, please go ahead and clone. I will delete the original after you clone.

adriens commented 8 years ago

:+1:

... could not this project template be an archetype for other potential users ?

schemacrawler commented 8 years ago

Sure, it could be. However, if your new project will be open source, I would rather point to that as an example, since it will be fully functional.

adriens commented 8 years ago

:+1:

adriens commented 8 years ago

Totally agree with the approach. Thanks a lot.