I have made an enormous amount of changes to this site and the way it functions. My changes and additions so far include:
- Made all of the sections on this page, except for the Friends section, drive from the database. When logged in as the Administrator, all of the sections have a little edit button next to the title. Clicking the edit button loads that section into the EditContent.aspx page where I can edit the title or the content for that section.
- Designed and added a blog module, Blogger.ascx. Under the Administrator role an Add Blog Entry button displays at the top of the Blog module. In addition, an edit button displays next to each blog entry. Blog entries are added or edited from the BlogEntry.aspx page.
- Changed the photo albums to use the file system. I added an appsetting to the web.config where the directory for storing albums can be specified. Then when creating an album it creates a folder inside the folder specified in the web.config. Any photos added for that album get put in that folder. The upload folder is still the import folder. When importing the images from the upload folder, the images are deleted from the upload folder after they are successfully added to the album. The random images SPROC still needs some work.
- Moved the user login to its own page, Login.aspx.
- Created a crappy Theme that is named GreenLeaf in the Theme dropdown on this page. There was not a lot of time put into the GreenLeaf Theme. I was just trying to learn how Themes worked in ASP.NET 2.0
- Added the functionality to be able to change Themes on the fly. If you haven't tried the Theme dropdown in the top left corner, give it a try. I created a PageBase class that inherits from the System.Web.UI.Page class and made all the relevant pages inherit from my PageBase class. The PageBase class is responsible for setting the Theme that it pulls from a table in the database. I created a folder named Master Pages where each theme has it's own .master. The Theme dropdown is filled by searching through the Master Pages folder and getting the first part of the .master file names. The master page must have the same name as the Theme in the App_Themes folder. When a Theme is selected in the dropdown that name is written to the database. Then the page is reloaded which causes the PreInit in the PageBase class to fire and load the new value from the database.
Additions or changes I still want to make include:
- Move the Resume page to drive from the database.
- Move all link sections to drive from the database and have the links organized into user defined categories.
- Change the framework and database to allow for many sites from one database and code like DotNetNuke.
- Allow administrator to enable/disable main menu links.
|