So I recently check the Google analytics for the es.openoffice.org website. The numbers are impressive but many lessons ought to be learned. Basically we have the following things going on:
- We get 5,500+ visits a day specially during the week
- 35% of the visitors use Firefox
- Most of the traffic (66%) are generated from Spain, then Mexico
- Most of the visits are just first timers and spend just 1:20 min on the website
- Google redirect most of the traffic into the website
So the lessons are simple, basically we like the numbers, however we would love to have more reasons for the users to remain on the website. this means rethinking completely the website content for the user. This means to make a complete efforts for the users on making it more and more user oriented and give visitors the value to remain.Reegnineering a podcast might be a good way, getting some exclusive OOo content from Youtube might also be something fun to do and just the overall delivery of content will also make this more awesome. So making a more exciting website for OOo might bring the OOo site forward to the web 2.0ish development.
So about a week ago I got to put a series of presentation of slides for learning linux and some of the CLI applications. I was focused on functional applications that you will normally use on the graphical desktop but this suite will work on the command line. Here we get a series to get presentations for getting things done just by having a terminal. For my first step we get:
- Screen – CLI virtual terminals
- Emacs – Editor, file manager, calendar etc
- Irssi – IRC application
- Pine – Email client
Check the presentations and comment:
So yesterday at Linux Cabal I had the chance to talk about OpenOffice.org and the work I have been doing on a software that is able to generate the documentation for all the accounts. This is the code I have been constantly blogging, the interesting thing is that I got the chance to give a tour through the thought process on how to evolutionary escalate the code and get the information needed.I was able to explain the basic scripts and evolutionarily get more and more complex code and finally be able to get a better more user friendly way to get this documentation set in place.Away from that I was able to get OOo development in the community and make it not to be as hard and also up the geek rep of OOo in the community for development. In the end everyone was pleased by the talk despite the few glitches regarding the small font size of the code.I also spent some time talking about Linux Cabal marketing strategy to get LC to the next level and also make more efficient marketing of LC. Develop a complete group of material inviting people to Linux Cabal and get a collection of image and message mixed into an environment. With all these elements we can get some more organize strategy on getting people in the door.
So after a honey moon of having this fake life of a good job with good money and very little work reality has stroke finally. Now I am facing a layoff and at the same time I haven’t make much progress with my gf mainly cuz of her midterms. She is a bit pissed at me mainly because of the stress she has been going through. I am not sure if we will make up today but hopefully I will be able to get something that will make her think about me this weekend. So speaking about thinking about me, I have been seriously thinking on how much effort will it be to become OpenOffice.org ES indeed. I am not ready for the job yet but I am more than happy to keep exploring this possibility. If we get OOo organization out there we might be able to have something pretty cool forming. I am also been a bit optimistic on getting myself out of Mexico with friends actively looking for a job in Europe and US. This will mean that I will be able to have a good window of opportunity to get everything set up before raising to the next level. Today our national CEO talk about how we are growing and opportunities are showing up all the time and we should take advantage of those, at the same time I am on a 60 day notice to get laid off so I guess I really need to start speaking up on things I could do before they either jailed me in a windows environment doing a job I don’t want to do or give me the boot. I really just need more time to foster the money and the development of the next step on what I want from life.
This script is regarding my previous two post, Automating work with Basic I and Automating work with Basic II. However this script does much more, thanks to the friends at OOoForum.org. This scripts does the following:
- Now we have variables, and index arrays
- We have a looper that basically loop whatever you put on your document through all the pages
- Create a database connection succesfully and make a dump into a MSGBox
- ToDo: get the SQL Query into the document
So here is the first script that I modify and was using the uBound(array()) using a for loop I was able to generate new sheets on the calc file and label the page and finally paste the content. For more information look at the past posts.
With OpenOffice.org Calc now I got an easy way to generate new pages and duplicate the content however most of this content is not the same and even if the uBound() helped me automate the number of the array, is still a pain to have just 1 data string for generating documents. I mean, if I had to insert custom data beside this array I would need a multidimensional array, which is more sort of a hack. So now I guess is time to migrate to a real database and what best than using OpenOffie.org’s Base.So now I got a script that will do exactly that, connect to a database and execute a Query, this way I would be able to manipulate tables and database. However since Basic is so cool I can actually fill out the table from the same scripting and looping technique.So let me break it down first, the Database script consist on this one:
for i to uBound(array())aNewSheetName = "Acceptance_Checklist_" & Format(i, "00")firstDoc.getSheets().insertNewByName(aNewSheetName,0) 'insertByNewByName to label the sheetselectSheetByName(firstDoc, aNewSheetName) 'selectSheetByName re-insert the original namedispatchURL(firstDoc,".uno:Paste") 'paste the name as the new sheetNext iEnd Sub
- Start the function and validate the variables
- Then get the database service called DatabaseContext
- Use the getByName() function for my database
- Then we GOTTA use some authentication even if there is no user/password but we use it with the function getConnection(“”, “”)
- The most important part is creating the SQL statment using the method createStatement()
- Then it finally comes the meat to get the actual SQL. One note is to get double-double quotes for declaring tables
- Finally we get the to execute the statement using executeUpdate(), alternatively is executeQuery()
So here is the script:
oBaseContext = CreateUnoService("com.sun.star.sdb.DatabaseContext")
oDataSource = oBaseContext.getbyName("TriadServers")
oCon = oDataSource.getConnection("", "")
Stmnt = oCon.createStatement()
strSQL = "Update ""readDox"" SET ""Architecture""='Horizon Clinicals Infrastructure Web Server' WHERE ""readDox"".""ID"" BETWEEN 49 AND 117"
Result = Stmnt.executeUpdate(strSQL) '
oCon.close()End SubThe next script I want to explain is the looper one that allow me to just type once in one cell and see the content replicate through my pages. The explanation is the following:
- Same as the rest is put the function and the variables
- We focus on the current document using the ThisComponent
- We use the awesome getCurrentSelection method
- Now we try to detect the cell doing a nice method to locate the row and columns using CellAddress.Column and CellAddress.Row
- After that we can get getString which save us the Select and Copy
- Then the loop will use the getByIndex() so it goes through the pages.
- Finally the script that makes it all is inserting the string back into the cell with SetString()
So here comes the script…
Sub CellLabeler Dim oCell as Variant Dim firstDoc as Variant Dim oSheet as Variant Dim someText as Variant Dim x firstDoc = ThisComponent oCell = firstDoc.getCurrentSelection column = oCell.CellAddress.Column row = oCell.CellAddress.Row someText = oCell.getString oSheets = firstDoc.getSheets for x = 0 to oSheets.Count -1 oSheet= firstDoc.getSheets().getByIndex(x) oSheet.GetCellbyPosition( column , row ).SetString(someText) Next xEnd Sub
So this week was a very productive week for OpenOffice.org at least for my part. This week I have done quite a lot just to enumerate a few:
- We got a reported some terminology bugs
- We got a wiki page improved for the colaboration
- Publish 2 talks on screencasting for OOo
- Kickstarted the OOo 2.4 localization process
- Introduce a couple of volunteers on collaborating with OOo
- Recieved presentation from Sean on OOo Migrations
- Hack the script for the documentation on the servers
- Got a database oriented implementation of the documentation server
- Wrote a proposal for OpenDocument for the NOM and/or IFAE with AMESOL
- Wrote a proposal for Bounties for AMESOL
- Generate a super SDF full of fixes for OOo 2.3
- Update the buttons for OOo Contributing page
- Got some tips for my emailer script
- Got Sandino to write a php script to extract the Thumbnail from ODF
- Promote my slidecast on OpenOffice.org 2.3
So it seems it was very active and productive. However, there were some issues in that productive week, starting with OOoES. We had an incident regarding bugs from OOo 2.3; there seemed to be issues with the attitude that some memebers of the community got from the reporting of their bugs.I hope we can get some of the development of OOoES and morale back on track however there seemed to be very damaged conversation as far as spirit of the talk goes.
I had post some interesting presentations for OpenOffice.org in Spanish. OpenOffice.org 2.3 – Innovacion sin paralelo which is a presentation about the new features in OpenOffice.org:And a new presentation about my summary experience at OpenOffice.org Conference in Barcelona. I presented that talk at Linux Cabal last Saturday and today I have the digital version of that presentation for the OpenOffice.org ES community:I didn’t mentioned other things regarding the presentations like ODFToolkit and Extensions, the UX project and the Google Summer of Code which have many different levels. The refactor of the UNO framework as well as others. I hope to get more input into this presentations but you can also see most of the presentations I posted to the slideshare stie.