SharePoint / ASP.Net Development
Experiences from the field...
Navigation
   RSS 2.0
Categories
Entries by Month

# Tuesday, August 16, 2005

E. Shupps has started a series of blog posts titled Extreme SharePoint Design Series that promises "advanced tips and tricks for designers."

Tuesday, August 16, 2005 3:37:16 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]  | 
# Sunday, August 14, 2005

I had to move an extranet application, including the databases, to a new server. The application has just over 300 sites, so of course I had to write code! There is a lot of file copies, but the script does include one interesting piece: creating a database on a server and creating an empty database.

The solution was written in VBScript and runs on a Windows XP machine. The script uses SQL-DMO to perform the database admin steps. I am including the script below as an example.

Now, I am sure that many of you will have an opinion about the code. That is fine. But do not flame about database best practices -- I am simply moving an existing application with specific requirements. And do not flame about the hungarian notation -- VB Script does not have strong typing and the entire script is almost 400 lines. Feel free to flame anything else. ;-)

Sub CreateDB(DBServer, SiteName)
    Dim oDBDataFile, sDataPath, oDBLogFile, sLogPath
    Dim oSvr, oDB

    Set oSvr = CreateObject("SQLDMO.SQLServer")
    oSvr.Connect DBServer, "user", "password" ' Could use WinNT login

    Set oDB = CreateObject("SQLDMO.Database")
    Set oDBDataFile = CreateObject("SQLDMO.DBFile")
    Set oDBLogFile = CreateObject("SQLDMO.LogFile")

    'Set new database name
    oDB.Name = SiteName

    'Define the PRIMARY data file.
    oDBDataFile.Name = SiteName
    sDataPath = oSvr.Registry.SQLDataRoot & "\DATA\" & SiteName & ".mdf"
    oDBDataFile.PhysicalName = sDataPath
    oDBDataFile.PrimaryFile = True
    oDBDataFile.Size = 2 'Set initial size (optional)

    oDBDataFile.FileGrowthType = SQLDMOGrowth_MB 'fixed size - other options available
    oDBDataFile.FileGrowth = 1

    'Add the DBFile object
    oDB.FileGroups("PRIMARY").DBFiles.Add oDBDataFile

    'Define the database transaction log.
    oDBLogFile.Name = SiteName & "Log"
    sLogPath = oSvr.Registry.SQLDataRoot & "\DATA\" & oDBLogFile.Name & ".ldf"
    oDBLogFile.PhysicalName = sLogPath
    oDBLogFile.Size = 2
    oDB.TransactionLog.LogFiles.Add oDBLogFile

    'Create the database as defined.
    oSvr.Databases.Add oDB
    
    'Add a user to the database
    Set oUser = CreateObject("SQLDMO.User")
    oUser.Login = "ExNet"
    oUser.Role = "db_owner" ' Make sure this is appropriate for you!
    oDB.Users.Add(oUser)
    

    ' Now, build the schema from the file of SQL statements
    Const ForReading = 1, ForWriting = 2
    Dim oFSO, oFile, sFile, sCmdBatch
    
    SET oFSO = CreateObject("Scripting.FileSystemObject")

    sFile = "C:\Visual Studio Projects\ExNetMove\CreateDatabase2_05.sql"
    SET oFile = oFSO.OpenTextFile(sFile, ForReading)

    sCmdBatch = oFile.ReadAll
    
    oDB.ExecuteImmediate sCmdBatch, SQLDMOExec_ContinueOnError    

    oFile.Close

End Sub

Sunday, August 14, 2005 11:00:32 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]  | 
# Thursday, August 11, 2005

Bil Simser has started a project for community-built templates.

Thursday, August 11, 2005 1:26:45 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]  | 

I don't have the time for a full review, but the book Building ASP.Net Server Controls by Dale Michalk and Rob Cameron has been very helpful for a long time.

If you are interested in writing server controls (and remember, Web Parts are server controls) this book is for you. The authors start out with very basic "write" statements, but they progress into a sophisticated control -- one that includes templates, CSS styling and data binding.

Thursday, August 11, 2005 12:16:49 AM (Central Daylight Time, UTC-05:00)  #    Comments [0]  | 
# Wednesday, August 03, 2005
Wednesday, August 03, 2005 10:57:41 AM (Central Daylight Time, UTC-05:00)  #    Comments [0]  | 
# Tuesday, August 02, 2005

The files referenced in the August Intranet Journal article: Using a Custom Web Page Template for Easy Content Entry

EasyContentEntry.zip (43.6 KB)
Tuesday, August 02, 2005 2:40:36 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]  | 
# Sunday, July 31, 2005

I noticed today that Google Maps now has a hybrid view that puts street names over the satellite view.

Sunday, July 31, 2005 3:45:39 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]  | 
# Saturday, July 23, 2005

Update: The Image Upload Web Part has been updated.

Heather Solomon blogged about end-user-focused web parts. (Be sure to look at the comments for links to many others.) All are very valid points.

I have a small but helpful contribution: The ImageUpload Web Part.

On a WSS Team site, the default template has an Image Web Part that displays the Windows Logo. I have never seen this logo on a production site. To change the image is easy enough for users familiar with the Web Part page model: Open the tool pane and change the location of the image. This is where it gets difficult for end-users.

What if the image is on the end-user's computer? Most likely, they email the file to the webmaster/developer. It is then uploaded to web server and the URL emailed back to the user. (Or the webmaster/developer is updating the web part.) More industrious users will post the image to a photo gallery. Some will even determine the URL. But there is an easier way.

The ImageUpload Web Part displays a form with a file upload input box. The end user can click the browse button and select the image. The web part stores the image in a document library and automatically remembers the location (URL) and renders the <IMG> tag correctly.

Download the CAB file and source code.

The web part requires a setting in web.config with the location to store the images. And, the end user must have permission to store items in that library. (This second restriction could be alleviated using impersonation techniques from Todd Bleeker or Victor Vogelpoel or Jay Nathan.)

Saturday, July 23, 2005 4:49:11 PM (Central Daylight Time, UTC-05:00)  #    Comments [10]  | 
Saturday, July 23, 2005 4:17:32 PM (Central Daylight Time, UTC-05:00)  #    Comments [0]  | 
# Wednesday, July 20, 2005

In honor of the first manned Moon landing, which took place on July 20, 1969, we’ve added some NASA imagery to the Google Maps interface to help you pay your own visit to our celestial neighbor. Happy lunar surfing. More about Google Moon.

http://moon.google.com/

 

Wednesday, July 20, 2005 10:20:10 AM (Central Daylight Time, UTC-05:00)  #    Comments [0]  | 
Search

Further Reading...

Powered by: newtelligence dasBlog 2.2.8279.16125

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008, Paul Schaeflein

Send mail to the author(s) E-mail