VERCON

It lives!

Today John and I successfully backed-up two schemas’ worth of code. We made a great deal of progress, and in the near future, I’m guessing we’ll have the program ready for schema owners to setup preferences to have their own code backed-up.

Once we have the code backed-up, then we can setup a method for retreival. I’d like to create an auto-restore feature so that developers could ‘revert’ to a previously restored version with a single click. We’ll see how feasible this is when we get there. For now, having backups could really save somebody’s bacon.

New Online Housing Application

old hat. Haven’t we heard it before? ‘housing app’, ‘housing app’, ‘housing app’. It’s not new. Not even kind of.

Ah, BUT! We’ve had an online housing application for the NEXT academic year, never for the CURRENT academic year. As of Friday, we’ll have our first CURRENT academic year online housing application. Oct 1, 2006 the NEXT academic year app will return and we’ll have two apps simultaneously. Why? Because from october through march someone might want to apply to live on campus NOW (or soon) or they might just be one of those Type A, early-bird planning types of people wanting to reserve their space. You know the type.

Anyway, now we can accomodate everyone. More importantly, there will be an application (or two) all 12 months, 52 weeks and 365.* days of the year. Stellar.

I need a blackberry.

Michael: Hi, my name is Michael and … I’m a (recovering) Type A.
Everyone: HI MICHAEL!

VERCON

Sadly, John was unable to join me today, as he was sick. But oh well – I still made some progress.

Today I worked out some multi-owner issues with the object auto-populating interfaces. I re-designed some interfaces, for more logical and efficient retrieval of code backups. I also took a lot of important phone calls which divided my focus, but progress is progress.

Success!

WOUPortal is on it’s feet.

On suggestion from Bill, I converted my little RezPortal for ‘my people’ down here into WOUPortal. Don’t we already have a portal, you ask? Sure, but it doesn’t work with PL/SQL code – that’s 90+% of what I need a portal for.

So I just wrote one. I made it for me, and for the RAs and the Housing & Dining staff. Then I expanded it, making it a campus-wide portal. Unfortunately, the only downside is that I can’t integrate it into Mail, Calendar, IM (…others). Yet.

I’m going to get ‘channels’ going for weather, news, even some cute little search types of things.

You can see it now if you’d like. It’s here.

Anyone on campus can use it. It just doesn’t DO anything yet (preferences coming soon…) – except for me. But the admin tool is all done. Authentication is done. I can even support public packages (and soon pass-through into the online housing app/resignup process).

Anyway, I’m happy. It’s brought me some joy of coding that I’ve been missing of late. I’m even writing comments (heaven forbid). Maybe it’s a pipe dream. But right NOW … it’s my dream.

Vercon & Permissions

I was pleased by the progress we made last week on Vercon. We ended our StaffDev by running into a little permissions issue. I am even MORE pleased with the progress we made today. Earlier today, John did some research and found a page with a possible solution.

We followed the advice of the solution that John found. However we ran into a new permissions issue. After a phone call and a new permission, I was able to create a view to a sys (oracle user) table. From there, I was able to grant view access to the Vercon program.

Today we also made sure that new owners (schemas) were being added automatically (daily – all with jobs). Also, we are auto-adding any objects of those owners.

Next we’ll use the owner backup option (locked=no backup, backup=backup, version control=15 different backups per object) and create backups of each object. Vercon doesn’t backup tables, only functions, procedures, packages, and package bodies.

The basic functionality of the program will backup all objects of all schemas (each night the job will run and will update any changed objects).

The next step will be to have a correctly functioning version control feature which will display the code from each version (allowing folks to copy the code into an editor and recompile it.

The final step would be to have a button next to each copy of the code, allowing the owner to ‘revert’ to a listed version of the code. It will also create a backup of the current code, allowing the owner to re-revert.

In some ways, I’ve complixified (new word) the tables required to hold code for PL/SQL. Oracle’s method basically uses only one table to hold all the code of all the objects. You could argue that it uses two – the second one holds dates like last update, etc… To do multiple backups (version control), I had to add a third table. I added the fourth table to allow for future modifiction, such that individual objects could be set to no_backup, backup, version_control, etc… This would allow someone to control backups at the object level vs. the schema (owner) level. We won’t implement that unless need be – but if we do we won’t have to alter the table design.

Computrition

Thus began a great journey.

Once upon a time, Dining puchased Computrition (CI). It was expensive, but high quality. It only ran on Oracle8, but we tried to cram it into the Oracle9 DB. Alas, it was not to be. So we made an Oracle8 DB on coug and life progressed merrily. It ran. It very occasionally broke, but was found to usually be our fault (usually).

Then along came CI v15. Shiny…pretty…new reports…and you guessed it: it only runs on Oracle10g. No problem.

We order. We train. We install. We backup. We break.

We delete. We re-install. We backup. We break.

We re-delete. We re-re-install. We DON’T do anything really weird and it’s still running. Well that lesson is learned. But alas, Troy moved along to greener pastures leaving us with only me.

But today I began to prepare the mightly 10g to handle CT v15. I tried to load some data, but alas it did not load. I called support – alas it still did not load. They went home. Monday is a holiday.

We will prevail. Never give up…never surrender. We’ll call them back … on tuesday.

…[ Please read extended entry ]…

BLOG UPDATE: 7/24/06
We have successfully setup Oracle 10g R1. We had originally setup R2 without understanding that the optimal 10g version was 10.1.0.4
With a great deal of ease, I was able to load our Computrition v14.5 data into v15.5 and connect to it with a machine that has HS v15.5 installed. I must commend Computrition on their exemplary support and patient help while we resolved Our issue.
The issue turned out to be our fault – first R2 vs. R1, then we were held up by a bug in R1 (which Oracle may not even know about) that doesn’t exist in Oracle 10g R2. Once we overcame those hurdles, Oracle started working well. So, once we had our database where Computrition wanted it – it took immediately. Smooth sailing. Thanks again to Computrition support – specifically their DBA team.

Vercon

And I was having such a productive week too…

Today John and I continued our effort on project VERCON. We made some headway and were starting to take the next step… then we ran into a wall.

It seems that you can select from sys.all_source (with the appropriate privelegs) from a SQL window – but when you do this same thing from a procedure it seems to default rights back to public. This means that even when I’M the one running the query (with DBA rights, no less) from a procedure, the only results are what any standard schema can see.

This is obviously a problem, as we want to be able to copy both public and private code from the sys schema’s all_source table. More importantly, why can we do it from a SQL window, but not from a procedure.

Anyway, that’s where we stopped today. We made some progress, we learned some stuff – but now the whole project is halted until we can figure this issue out.

VERCON

Today John and I worked on the VERCON (Version Control for PL/SQL) for our StaffDev. We populated one table and devised a scheme to keep it updated. We created another table for version control and diagramed the DB design. We discussed some options/issues and found resolutions/solutions to most of them.

We got started a little late, and our time was cut a bit short by the President’s presentation.

Firefighting

Some days seem to just fly by, as I’m running from place to place putting out little fires. Not every day is like that, and I’m glad. I’ve heard of some operations where that’s all IT ever does. But then progress and innovation don’t occur.

Nothing works forever. I dig that. They call it job security. I don’t want things to always work perfectly and never have issues. On the other hand, I’m glad that we don’t only have issues. When I have the time to think, strategize and innovate I still feel alive as a programmer. Some people are addicted to ‘new’ (my wife thinks I’m one of those people). She enjoys teasing me about reorganizing the furniture in at least one room of our house on a frequent basis.

But innovation is more than just an addiction to ‘something new’. Innovation is birthed from a combination of need, stopping to take some time and using that little genius that deep down inside us all. It just feels good to think up something … ‘new’. Something that we think is really gonna make a difference. It’s the difference between trying to make new tricks for the dog, or just trying to make a new dog.

Innovation is what keeps me alive as a programmer. It’s the difference between Boo-ya! and “Hi my name is Michael, I can take your order whenever your ready”.

I think we all innovate. My purpose in writing this blog was not to say that I rock and am too smart for my pants. It was a simple self expression. Some people love feedback, others love completion. Mostly I guess I was expressing an appreciation for the time and structure to continue innovation.
Some of my recent projects show this innovative spirit (in my opinion). The portal is the best example, as it bridges a known gap in our current technology use. I’m still working away at it – that and 5 other projects…

Ever need a vacation from your vacation?

Well my wife and I returned from two weeks of vacation on tuesday. We went to Florida: saw the everglades, alligators, disneyworld…

It was great, but I’m tired 🙂

I love my wife so much, but we are very opposite. She loves to run around on vacation and I love to sit. Weird, huh? Oh well, we make it work and we had a really good time.

Anyway, today I built the table structure to hold the data for the VERCON schema: an automated Version Control tool to backup/track our PL/SQL code. So that’s what I worked on today for my ProDev. I hope it’ll be a neat program when it’s through. The first time it saves me (or someone else) it’ll all have been worth it.