Weekly Reports

Back to GSoC2012Projects SOS Administrator.

Week 13 (Aug 13 - Aug 20)

So far :
  • Settings screen working. If you update any value, it will be updated. See Issue!
  • Implemented database screen. Working!
  • Changed CSS at few places to beautify admin-end a bit like text-boxes look a bit nice now.
  • Removed duplicate files. Code cleanup basically at many places.
  • Didn't include Hibernate due to time constraint. Usual way of dealing with Database.
  • Tested the complete system. Except this week's issues, everything is working!
  1. Fix issues.
Issues -

Bugs basically like :
  1. Settings do get updated but view isn't updated accordingly. Shows past default values!
  2. Not all global settings seem to get inserted in DB.
All-in-all, most of the things(all features) seem to be in place and working. Just few UI issues and more to come when the application is deployed on demo server, needs attention smile

Screenshots :

Database screen :


select :


after dropping example table,


dashboard :


settings :


Week 12 (Aug 06 - Aug 13)

So far :
  • Added quick preview module to dashboard.
  • Implemented global settings screen logic.
  • Database screen UI complete. A generic textarea/label combo solution is done, need to finish showing of tables and it's data. Framework has been laid out(Ajax requests are working, it's returning correct dummy data and such!). I'll finish it in coming day or two.
  • Fixed previous issues like database/index was accesible without authentication : reason : wrong way of authenticating a user.Fixed it! and some last week's issues.
  1. Include hibernate. Query the Database, fill the response with real data from DB.
Issues -
  1. None
Screenshots :

Login error -


quick preview module @ dashboard


Database screen(filled with dummy data as of now!) -


Week 11 (July 30 - Aug 06)

So far :
  • Added portlets to Dashboard screen with dummy content.
  • Beautified the admin-end a bit. Definately looks better.
  • Authentication working flawlessly! As do dashboard screen.
  • Started with database screen.
  • Fixed all the previous issues(Thanks a lot to my mentor for chipping in :-))
  1. Go for database related things. This include database screen and filling in dashboard with related content in form of modules which are draggable.
  2. Fix this week's issues.
Issues -
  1. *404*: Strangely enough, i can work with css/js, but not with images. The URL is correct but still i can't include the image in background-url of header(gives a 404)! UPDATE: fixed it. Looks like there was some issue with image-name. As soon as i changed the name, it worked!
  2. Need to familirise myself with JSTL tags. if and choose not working :-/

Screenshots :

Login screen :


welcome screen


you can move around these modules as per your convenience


settings screen


<add logout/loginfailed screenhots here>

Week 10 (July 23 - July 30)

So far :
  • Customized the login page. Looks much better than the default one provided by spring security.
  • DashBoard screen implemented. It lacks content as of now as other pages aren't there, so i have nothing to display as of now in welcome page.
  • Global settings screen implemented. Tabbed structure done!
  • Fixed the url mapping issue of annotations.
  1. Fix issues of the last week.
  2. Work a bit more on admin-end look.
  3. Implement the logic of dashboard screen.
  4. Integrate/Change installer with spring security module. "Access is denied" message keeps popping in.
Issues -
  1. URL-MAPPING : Though i managed to do method mapping via annotations, i can't find my way out to include static resources like css, js, images and such. I tried all solutions provided on net but to no use. I need to investigate a bit more on this. Hence, a little less in TODO of this week. when i include URL, servlet context is being added to the url no matter what!
  2. Somehow, installer blocks the testClient.html even after installation is done! Need to fix this. I think it's an issue with integrating spring security. I changed few configs here and there this week, so, maybe it's because of those changes.

Week 9 (July 16 - July 23)

So far :
  • Read, read and read a lot about Spring, Spring web MVC(Struts as well), Spring security modules and how to integrate all these modules with Maven.
  • Integrated all the above modules. Spring : overall framework upon which i'm gonna build admin-end. Spring web MVC - To make back-end more maintainable and cleaner, i'll use Spring's own web MVC (Struts do the same but i read if we are using Spring from the beginning, it's better to use it's own web MVC module). Also, i've implemented ViewResolver so that i need not supply view paths every time(More risk-proof, just in case i decide to change the location of views). Spring security : For login purpose. Currently authentication is in-memory(sha-256 encoding). In future, as "users" concept will be introduced, authentication should be via database.
  • Admin-authentication done! (Need to beautify login screen though!)
  • Installer Bugs : Closed the connection in finally {} and fixed the NullPointerException at the start. Thinking of refactoring getting the connection logic as well. Sosmething like a separate file and a static Connection variable and getConection and closeConnection methods?
  1. DashBoard and Global settings screen.
Issues -
  1. Well, during integration of various spring modules and especially during method mapping to url, i ran into many many issues like error in dependency check, infinite loop problem, unable to map methods to url and so on. Most of them have been fixed, so, now as i have my ground cleared, i guess it should be comparatively easy wink I was planning to go for Dashboard as well, but integration did give me a hard ride as i wasn't much proficient with maven to be honest and all those dependencies and finally it's integration with installer was a bit hard especially InstallFilter which operates on any url! Infinite loop issue and such.

Week 8 (July 9 - July 16)

So far :

Installer :
  • Bugs : Well, i got some feedback o installer and as it turned out, installer wasn't perfect at all. I have corrected all the issues reported. Big ones like NullPointerException on dbsettings and InstallFilter being too big and small ones like misspelling of dssos.config and such, they all have been taken care of.
  • Database config screen went through some very good changes like remembering what user entered while coming back from dbsettings and synchronizing driver,user/pwd info were some nice ideas.
  • Question : At info screen, i'm writing dssos.config file and just in case i can't write(directory not writable!) i'm displaying the appropriate message. I was thinking how about we give user one more try to write the file? something like "Please make sure directory is writable and click try again/write dssos config file"?
  • I renamed the dssos.config to dssos-sample.config. Once the installer completes executing, it creates dssos.config file.

I'll be discussing the admin-end how to's in Spring in coming days and i'll start with admin-end. I have views ready with me so it should be breeze once i start. For now, i'm trying Spring more and more and learning it via examples.

  1. Discuss the HowTo's with Henning, Carsten and Daniel.
Follow up of last week TODO's : (Couldn't go for them mainly because of installer issues and i was reading about Spring, so!)
  1. Implement authentication/login part. Make suitable changes in installer as well(admin account should be created while installing SOS :)).
  2. Correct the CSS issues and beautify the dashboard.
  3. Go for global settings screen. Implement tabbed structure.
Issues -
  1. NONE smile

Week 7 (July 2 - July 9)

So far :

Installer :
  • Base-url issue : Fixed(for good!). Installer guesses it automatically! With this, many issues get fixed like 404 error when user accidently goes for some other page and gets redirected to wrong installer pages!
  • POSTGRESQL template issue : After the installer creates a database, i checked it's properties via pgAdmin and it's template was set to nothing. So, i thought database isn't being created properly. After lots of googling and finally on postgresql irc, i got to know that this behaviour is normal. POSTGRESQL doesn't keep record of the database which is used to create new one. Hence, the behaviour.
  • Beautified the optional screen UI. It looks more flawless now.

Well, i searched a lot and finally decided to implement admin-end using Spring framework. It's an awesome widely used framework for java web-apps. I'm new to Spring, so it'll be a nice learning experience for me as well. I have prepared the basic initial layout something like WordPress' admin-end.

  1. Implement authentication/login part. Make suitable changes in installer as well(admin account should be created while installing SOS :)).
  2. Correct the CSS issues and beautify the dashboard.
  3. Go for global settings screen. Implement tabbed structure.
Issues -
  1. NONE smile

Week 6 (June 25 - July 2)

This week, the progress was really slow mainly because of frequest power cuts in Delhi frown, sad smile I even lost the work i was doing once and had to do a fresh checkout and setup things again.

So far :
  • Changed UI again of a screen i.e. optional.
  • Introduced subparts of optional screen. Something like 5a and 5b. Now service provider and identification settngs comes in another screen after the miscellaneous optional settings screen.
  • Bugs : Fixed a lot of bugs this week like a session problem which was showing access denied message even after installation has been done. As i introduced a new screen in between, the logic had to be altered causing futher issues and new bugs.
  • InstallFilter is being updated with the logic of optional screen.
  • Fixed base url problem by asking user for it(will search a bit more to make this automatic!) and loading license text from the view itself and not the file.
  1. Through blog post, i'll be asking for more feedback from users of 52°North to make it more stable.
  2. Come up with basic initial layout of admin-end and implement the dashboard screen.
  3. Improve the fix of base url issue. Make it automatic so that installer "sense" the url of the application. Maybe giving user our initial guess and giving an option to override it will be a bit better?(before welcome screen, in a pop-up?!)
Issues -
  1. Due to addition of one more screen, some logical flaws have been introduced and so screen after optional screen-2 are shown access denied message. Need to correct this asap.
  2. Really really work on admin-end. Due to these power cuts, i'm behind my schedule by almost 4-5 days. I'll improve for sure.
  3. Merge with latest trunk so that before starting admin-end, conflicts could be as minimum as possible.

Week 5 (June 18 - June 25)

So far :
  • Implemented optional screen of web-based nstaller.
  • Implemented information screen of web-based nstaller.
  • Dummy Data : At dbsettings screen, i've given a dummy data checkbox through which admins can now insert dummy data via installer.
  • Creating/Populating Database : At dbconfig screen, when user specify a database, installer doesn't necessarily create a database. It checks if the specified database exists or not. If it doesn't , it creates one else does nothing! Same goes with populating database. It first checks whether tables exist or not. If not, it creates tables else does nothing.
  • InstallFilter is being updated with the logic of respective screens i.e. database settings, optional and information screens.
  • Changed UI of few screens like dbconfig and optional.
  1. Fix few loopholes like when to run installer, file writing operations(dbconfig), Issue from week#3 and such.
  2. Make Installer more stable for use.
  3. Think about how to go with admin-end and maybe start with some basic structure(few basic files).
Issues -
  1. Follow up from week#3 - Getting the base url of the application!
Screenshots :

Changed UIs : dbconfig





(As the database has been newly created, message shown will be (if everything goes right) should be database xyz has been populated! If i use already existant database with tables, figure below show the result!




Week 4 (June 11 - June 18)

So far :
  • Last week's issue : Accessing installer pages was a big issue last week, which has been taken care of now by using session. Every page has a session variable assosciated with it. A page is displayed only when the assosciated variable is set(set only when a post request via installer by a previous screen takes place!) else an "Access Denied"message is shown.
  • Implemented database settings screen of web-based nstaller.
  • Data flow : User specify a database name in database configuration screen. Installer tries to connect to that database. If it succeeds, user is taken to database settings screen, where the tables are handled. If the database doesn't exist and connection fails, installer tries to connect to default database "postgres" that comes bundled with postgresql. Using this database, installer creates user specified database and taken to database settings scren just like case 1.
  • InstallFilter is being updated with the logic of respective screens i.e. database configuration and database settings.
  1. Code the other two screens of installer i.e. optional screen and final information!.
Issues -
  1. Follow up from week#3 - Getting the base url of the application!
Screenshots :

Apart from the basic screens, basic error reporting system while connecting to database and using session variable to limit access of pages can be seen in these images:



Here to demonstrate the concept, i've printed the clearance level at the footer. User till now has access to first two screens(set to true!), If i try to access 3rd/4th/5th screen of installer, user is bound to get a simple access denied page like this one:



Week 3 (June 04 - June 11)

So far :
  • Flow of installer : On all url-patterns, i have a filter, InstallFilter, which checks whether the installation has been done already or not. The basis of the same is the existance of a certain file. If the installation needs to be done, following takes place. I check for a parameter "page" and request url. Based on these two things, user is redirected to appropriate screens of installer. In the end, user is redirected to admin-end ( test client for now! ). Template files(heeader.jsp,sidebar.jsp,footer.jsp) are in place!
  • Implemented welcome screen of web-based nstaller.
  • Implemented database configuration screen as well.
  • InstallFilter is in place and running.
  1. Code the other screens of installer i.e. dbsettings,optional screen and final information!.
Issues -
  1. All screens of installers are basically jsp pages. Also, installer shouldn't allow direct access of its various screens except welcome screen(when installation hasn't been done). But currently these pages can be accessed. Poosible solution could be 1. use session. 2. apply filter on welcome screen jsp file! 3. use a static variable for one time access of welcome screen!
  2. Getting the base url of the application!

Week 2 (May 28 - June 04)

So far :
  • Familiarised myself with Maven.
  • First blog entry - done!
  • Synchronized svn,netbeans and maven.
  • Committed various template files to be used by the web-based installer. InstallFilter will have the logic of the installer, various files like header.jsp,sidebar.jsp will be common for every screen(so, just include them !)
  1. Code the filter,InstallFilter.
  2. Re-organize various files used by installer. Gotta discuss with my mentor - file structure.
Issues -
  1. None as such. Just need to read a bit more about Maven and it's working!

Week 1 (May 21 - May 28)

Occupied with University exams in this week.

Week 0 (Before May 21)

So far :
  • Started early because of exams in next week.
  • Looked at the basic workflow of how SOS works, configuration parameters, files that we need to edit in order to run SOS.
  • Tried various others Java based web installers to understand the functionality and "How to's" of it, very clearly.
  • Googled on how to silently install PostgreSQL and postgit on windows.
  • Made TWiKi page and completed other formalities.
  1. Get down to coding the web installer. Designing an initial template of installer will be the first thing. After that, all screens of web installer can use this template.
Issues -
  1. Pre populating postgresql with sos database before packaging it (for windows installer). There is no structured data specific directories in postgresql like in case of mysql (all db resides in /data directory!). Way around could be to execute a script while extracting the package from windows installer. That script will install the database after postgresql+postgit has been installed. Still need to search a bit on it.


Topic attachments
I Attachment Action Size DateSorted ascending Who Comment
driver_error_session_variables.PNGPNG driver_error_session_variables.PNG manage 206 K 18 Jun 2012 - 17:20 UnknownUser  
access_denied.PNGPNG access_denied.PNG manage 4 K 18 Jun 2012 - 17:22 UnknownUser  
Capture.PNGPNG Capture.PNG manage 205 K 24 Jun 2012 - 11:12 UnknownUser  
dbsettings.PNGPNG dbsettings.PNG manage 17 K 24 Jun 2012 - 11:15 UnknownUser  
opt.PNGPNG opt.PNG manage 59 K 24 Jun 2012 - 11:21 UnknownUser  
info.PNGPNG info.PNG manage 15 K 24 Jun 2012 - 11:22 UnknownUser  
login.PNGPNG login.PNG manage 153 K 05 Aug 2012 - 06:42 UnknownUser  
dashboard-2.PNGPNG dashboard-2.PNG manage 117 K 05 Aug 2012 - 06:43 UnknownUser  
settings.PNGPNG settings.PNG manage 117 K 05 Aug 2012 - 06:43 UnknownUser  
db_dummy.PNGPNG db_dummy.PNG manage 115 K 18 Aug 2012 - 07:07 UnknownUser  
login_failed.PNGPNG login_failed.PNG manage 111 K 18 Aug 2012 - 07:07 UnknownUser  
logout.PNGPNG logout.PNG manage 108 K 18 Aug 2012 - 07:07 UnknownUser  
quick_preview.PNGPNG quick_preview.PNG manage 138 K 18 Aug 2012 - 07:07 UnknownUser  
dashboard.PNGPNG dashboard.PNG manage 146 K 19 Aug 2012 - 16:47 UnknownUser  
db_create.PNGPNG db_create.PNG manage 115 K 19 Aug 2012 - 16:48 UnknownUser  
db_error.PNGPNG db_error.PNG manage 117 K 19 Aug 2012 - 16:48 UnknownUser  
db_select.PNGPNG db_select.PNG manage 125 K 19 Aug 2012 - 16:48 UnknownUser  
settings-updated.PNGPNG settings-updated.PNG manage 136 K 19 Aug 2012 - 17:03 UnknownUser  
Topic revision: r23 - 21 Aug 2012, ShubhamSachdeva
Legal Notice | Privacy Statement

This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Wiki? Send feedback