Giuseppe is the MySQL Community Team Lead. He's also an active member of the MySQL community and long timer open source enthusiast. During the past 20 plus years he has worked in various IT related fields, with focus on databases, object oriented programming, system administration. Fluent in Italian, English, Perl, SQL, Lua, C, Bash, and good speaker of C++, French, Spanish, Java. He works in cyberspace, with a virtual team. He has a blog (http://datacharmer.blogspot.com) where he writes frequently about database matters.
The MySQL Librarian is a collection of community-generated and cross referenced content related to MySQL. It's a place where the community, collaboratively, builds and maintains MySQL content.
The idea started two years ago. During the MySQL conference, the blog posts were going fast and furiously down the screen. There were so many blog posts on Planet MySQL that their average life was 1 hour or less. Some of them went to the second page without having enjoyed a single minute of top page exposure. And then there were the presentation files, hidden or forgotten on some site, and never to be seen again, especially when you need them months later. After the conference, between travel, catching up with email, and whatever happens next, you lose track of most the interesting content that was generated by some of the best community members in the ecosystem. And the same happens when you go on vacation for two weeks. When you come back, catching up with the good stuff is hard. You should read hundred of less than interesting posts to get the important ones.
Improving the search on Planet MySQL helps a lot. But it won't let you easily find an article that was published in a blog that is not aggregated, because the author writes about MySQL only once in a while. And the planet won't let you find the presentations about interesting stuff, unless the accompanying text and tags reflect your search query.
The Librarian changes it all. The good content from conferences, stray presentations, videos, articles, can all be referenced in one place.
We started planning this tool in November 2008. Its implementation required a radical change of the Planet MySQL code, with months of thankless work to refactoring the existing features with a more flexible infrastructure. The small visible changes that appeared on Planet MySQL from February to June 2009 are the tip of the iceberg of a huge code change (kudos to Dups, who had the vision and the perseverance to tackle the task). If you were wondering why planetmysql.org started redirecting to planet.mysql.com, here's the reason. We needed a single login, which could only be achieved by taking the planet under the main domain.
What's the Librarian? It's a place where everyone posts links to
interesting material concerning MySQL. You can add links and descriptions to presentations, pictures, videos, articles, and books.
You can tag the posts you added and add or edit tags to existing posts, to put such pieces in relation to other material. Thus, using tags, you will be able to identify a presentation on partitioning at the UC2009, and all the blog
posts that talked about that topic during the conference or after.
Moreover, users with MySQL accounts can create a list of favorites to keep easy track of the links that you like.
Finally, but probably this is one of the most important parts, you can vote on the posted links, so that the good stuff comes to the top easily. You have 10 votes per day to spend on the Librarian, and if the community uses the votes steadily and wisely, the deserving good contents become easy to identify. Have you been off line for a few weeks? A glimpse at the Librarian top voted content will let you catch up with the important material in a matter of minutes.
Let's make one thing clear. Whatever you insert, you shouldn't duplicate the original content. The MySQL Librarian contains links to content stored in other places. What makes it valuable is the descriptions and the tags you add.
What should you insert here? Think of a technical library. You want to preserve what is going to be useful in future. Libraries store books that people want to look at long time after they are published. They may preserve the announcement that a given book is going to be published in 1995, but that one is guaranteed to gather dust and never to be searched for. Likewise, not everything related to MySQL is appropriate. You should insert only links to contents that someone is likely to need or appreciate in future.
Start with the stuff you have produced. Is there an blog post that you are proud of? Probably a good candidate. Have other people commented favorably on it? Probably an excellent candidate.
Is there an article that you keep referring to when you answer forum questions? Then it's a good candidate to be in the Librarian's care.
Slides and videos to a great presentation on MySQL refactoring? Sure. A picture of your data center with a dolphin shaped UPS? Add it!
Your judgment is important. The MySQL Librarian doesn't collect data with spiders or feed filters. Everything in here is created and maintained by the community. Every piece of information collected by the Librarian must have something valuable to the wider community. Even a single tag identifying the post as a "tip" makes the difference between a "dumb" search engine and a collection of community wisdom.
Now, in practical terms, what do you need to do to add a new post? Let's start by clicking to Add A Link.
The information to add is all mandatory.
After you click on submit, our post will look like this:
When you open the Librarian, page, you can browse the latest links. They are listed in insertion order. On your left, you can choose to limit the view to the latest ones in a specific category. If you click on *articles_, for instance, you will see the latest articles inserted. To go back to the main Librarian view, you can either click on the librarian icon on the top, or on *latest links_'.
If you have doubts, the FAQ will be here to help you.
Every category has a distinctive icon, which will help you to identify each link at a glance.
Of course, the Librarian would be next to useless if you read the links in the order they were inserted. Its true value is in the search.
First off, if you are lucky, and you see a tag that would satisfy your request among the posts at the top, clicking it will start a search by tag, and probably you are done.
If there is no such lucky combination in sight, then you should use the built-in ask the Librarian, the powerful search engine that takes advantage of the information provided by the patient community members.
A simple, Google style, for one word, will bear the results you expect. For example, if you enter "partitions," the Librarian performs a full-text search among titles and description.
Since the Librarian uses the MySQL full-text search, you can be more demanding. If you want to get all posts that talk about partitions and storage engines, you can ask for "+partition* +storage +engine".
Probably the beauty and usefulness of the Librarian is all in its multiple search. Let's say that you want to find contents about partitioning, but only the ones related to the MySQL Conference 2009. If the presentations have been tagged (and the ones about the latest MySQL Conference all have a 'uc2009' tag), then the request is easy. If you start your search with "tags:" or "tag:", the Librarian will combine the following tags, to restrict your search the way you want. "tags: partitioning, uc2009" will do the trick for you.
Please, pause for a moment and think about it. If the content is properly tagged, you will be able to find articles, videos, presentations related to a subject or to an event.
The MySQL Librarian can be built by a small group, but certainly can't be maintained and kept interesting by just a few people, no matter how expert, dedicated, and committed they are.
The Librarian was designed to be a collaborative tool. Community participation is essential to keeping the information interesting, useful and of a high quality.
The community must be involved with three tasks:
If you want to help, you may come across a large collection of links that deserve to be inserted. For example, you want to get the links of all the presentation materials listed under the MySQL Conference 2008, 2007, 2006, or you were maintaining a list of useful articles for your own purposes. Whatever the reason, if you have a batch of good entries that you want to insert, you can create a spreadsheet (or a CSV file) with the entries to insert and one of the administrators can do it for you. Using this system, Sakila the Librarian (the friendly name used by the administrators for mass insertions) inserted 90 presentations from the latest MySQL Conference and 20 videos from MySQL University.
The format of the entries is simple. There must be five fields per line:
Send the files to mysql-librarian AT sun DOT com, using the word "INSERT" in the subject. An Administrator will check the entries for appropriateness (we have to be very careful about SPAM!) and eventually insert them.
The MySQL Librarian has been designed for the community, but with the individual needs in mind. Searching is not enough. You want to keep track of things. You want to keep a list of articles that you find, no matter what tags they have. In addition to tagging, and voting, which are actions that influence other people, you can do something for yourself: add to your favorites.
If you click on the grey star next to each post title, the post will be added to your private list of favorites.
Then, you can use it for whatever reason you want. You may keep them for long term reference, or you may have them listed as "things to read when I have time." It's up to you.
The MySQL Librarian lives in the 21st century, where social networks are as important as physical ones. Thus, it has connections to many places, where it gets or gives information.
There is a Twitter user that broadcasts the new entries.
Planet MySQL is probably the main provider of contents for the Librarian. Whenever you find a blog post that deserves wider exposure in the Librarian, you can click on the "Add to MySQL Librarian" link, and you will be taken to the insertion form, which will be almost completely filled for you. All, you need to do is add a description and eventually edit the tags.
The MySQL Librarian is a wealth of technical knowledge, created for the community and made great and better by the community. With everyone's participation, it can become the focal point of MySQL reference on the web.