Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Deployment nightmare from hell!Deployment nightmare from hell!
Previous
 
Next
New Post
6/4/2007 6:42 PM
 

Classic... I actually watched an episode of the A-Team during lunch today while waiting for the IT guys to get the new server ready for me.


-- Jon Seeley
DotNetNuke Modules
Custom DotNetNuke and .NET Development
http://www.seeleyware.com
 
New Post
6/5/2007 12:23 PM
 

Yeah, I'm glad we found the problem too... I wanted to crawl under my desk and die when it started falling apart.  I just felt physically sick when all that work fell apart, but luckily it was a server problem and "easy" to resolve.

To answer your question on our virtualization setup:  we have 10 "blade" servers with the newest AMD ref F Dual Proc, Dual Core; each with 16gb ram, and a boat load of hard-disk space (probably in excess of 1tb each, though I'm not certain the exact number).  Additionally, we have a separate SQL server that is a slightly older machine, but it has dual-proc and 4gb+ of RAM, and a huge hard disk.  Aside from all that, we have a file server with another several TB of space available and use that to map a "shared" drive for the different departments and branches in the CU to connect to for their various stuff... I've mapped part of that drive in and shared it as a subfolder in the portals directory (actually, now that I think about it, we have it shared TO the file server from the portals folder, not the other way around).

I'm not entirely certain how many virtual appliances we have running currently, but we have several older servers that we are migrating to be virtualized (I have 3 web servers for other applications that I can think of off the top of my head that I'll be migrating, not to mention I just migrated our old intranet from a physical server to a virtual server).  I'm guessing we have between 10-20 servers currently virtualized, though the only one running DNN is the one I mentioned previously.

The VM appliance I have set up for DNN is running dual-proc w/2gb ram and I have allotted about 20gb to it (but the beauty with VM is I can increase that dynamically if I need to).  The "OS" drive only has 8gb and is "fixed" in size, but we added secondary drive to the VM appliance that accounts for the other 12.

Now that we have got past the initial problems, the server is running blazingly fast.  In fact, I have NEVER seen DNN go this fast before.  My home "server" is a Celeron 2ghz with 1gb RAM and runs "fast"; I had DNN set up on a physical server here for staging my modules and that was even faster than my home setup... but this virtual one knocks it's pants off.  We have a pretty sophisticated skin and lots of modules and it still loads so fast I barely see it flash by.  Of course, it loads a little slower out in the branches because their connection to the corporate office is a tad slower and has some latency... I'm just barely outside the server room so I have little latency.

Now to move on to the custom modules... being a credit union (and a corporate entity at all), we had need for several very specialized modules to handle different items within the CU.  I'll briefly list the ones I created and what they do, as well as include a list of a few that we've purchased to handle more "generic" tasks:

  1. User Directory/Import: we have all of our employee data in a 3rd party system but really don't want people to have to create their own logins, manage their own profiles, etc, not to mention DNN was very lacking in a "user directory" type function and import ability for users.  I had previously written a module to do this in our former intranet, but went and upgraded it heavily, adding AJAX support and custom import file mapping (map columns in the file to different user or profile fields).  Additionally, the user directory is heavily coupled with the profile fields and allows searching by first name, last name, "department", etc, shows employee photos, has a "clickable" employee hierarchy (so clicking my supervisor would show their record in addition to all their direct reports), and a "clickable" department hierarchy (so clicking my department would show EVERYBODY in my department).  I know that smart-thinker has a user directory type thing, but it just didn't fit out needs... though his would be very good in an external setting.
  2. Auto-logon: most employees really don't want to know their own password for the intranet, let alone be required to do anything to get in.  I could have implemented the active directory authentication built in to DNN, but I didn't care for what it did... first of all, we don't really want it to automatically synchronize roles, etc, nor do I want it to have the "domain/username" as their username.  I have since seen posts that talk about how to remove that, but I had a very simple solution -- I turned off anonymous authentication on the IIS VD, turned on integrated authentication, and then use the code where I grab the current principal (AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal); follow through and get the current one with (WindowsPrincipal)System.Threading.Thread.CurrentPrincipal;  in that regard, I can pull the user name (which has the domain attached, but easily stripped).  Long story short, I slap this module on a page and if you aren't already logged in, it pulls your windows authentication and then uses some code to log you in.
  3. Calendar/Events: Ok... so I've seen all sorts of modules out there that "almost" do what we needed... problem is, the people in HR and our training department had some very specific requests that weren't out there.  I set up a calendar that has color coded categories and allows events to be created with 4 different "sign-up" types: 1) no signups; 2) signup self (auto); 3) signup self (manager approval); 4) manager signups only (manager can sign up self or their reports).  On top of that, it has workflow where emails will shoot out to the manager when somebody who works for them signs up and gives them the opportunity to "kick" them (which is permanent, so an automatic one won't let them signup again), etc.  Additionally, the events can track "custom" fields (each event can be assigned a set of custom data to track) and each event attendee will be exported in a CSV when/if the event organizer wants to.  That list will include all custom data.  The custom data alone made this a very valuable addition because at this point, we can track ANYTHING we want and use the events for anything, such as company parties, training classes, RSVP events, etc.  This module was a real bugger, took me nearly 2 months to complete, but they are bursting at the seams with how "cool" it is.
  4. Insurance referral tracking: normally credit unions cannot operate with "profitable" type items (ie, insurance, etc)... but we have a "service organization" (and most credit unions do) that has to pay taxes on the services they offer.  This one in particular sells insurance of all types and they needed a way to track referrals from the branches.  I wrote a simple submission/tracking module for them that ties into a windows application previously created a couple years ago.
  5. Custom Menu: so having an autogenerated menu for site navigation is all fine and dandy when you only have 20 pages... but when you have 1000, not quite.  I created a module that will allow you to define completely custom navigation within a module, complete with images and/or CSS, can be set as a tree, or a menu (horizontal or vertical).  It merely wraps the ComponentArt menu control and I store all the information in the database and render at runtime.  The intranet administrator absolutely loves this module more than any of the others I've done.  I have plans on rewriting this on my own time at home and making it commerically available... we'll see when I find the time.
  6. NADA lookups: as a credit union, our branch personnel need to look up automobile values... we have some subscription with NADA and I wrote a module that wraps around that COM object and allows looking up values.
  7. Newsletter: we were previously using the Orizonti newsletter but it had several incomplete areas (such as BCC sending, async sending);  I took their code as a template and rewrote it from the ground up... pretty much the same thing though.
  8. PDF poster: "submittable" PDFs send their data as XFDF data which is somewhat unusable in a "normal" situation... wrote a module to intercept the XFDF data and merge it back into the original PDF and then email it to the appropriate recipient.  Most of the PDFs we were using have been made obsolete by purchasing the Enterprise Forms module (we only need the PDFs for things that require a paper trail).
  9. SEG Tracking: Credit Unions are limited by certain rules... we cannot operate on the same principle as banks and let anybody join... we either have to limit ourselves to a geographic area OR "select employee groups" (basically company sponsored membership).  When this limitation was imposed on us, we chose the latter... we needed a way to track which companies are "members" of our CU and track the ratio of members vs total employees... that is what this is.
  10. Single Sign On: more appropriately is a "password vault".  I allow the admin to set up new "sites" with any number of custom fields that the end user can then specify values for (typically username and password).  It stores that in the database and encrypts it, then in the future whenever they click the link for that website, it will automatically post to the login page for that site and log them in.  For the older employees who can't remember anything, this is great.  Personally, I hate the idea of storing your passwords.
  11. HelpDesk/Project Management:  yes, I know SigmaPro Draconis does this... but we already had one in place that I created for our former intranet that was very specific to our needs.... I converted it to DNN and people love it.  We have helpdesk tickets that can be converted to longterm projects and vice versa, with custom reminder intervals, etc.

That's all she wrote... for now.  I have about 5 more modules on my list that different departments are asking me to create.  I didn't mention all the modules we have purchased for use, but I think we have 5-10 modules that we have purchased and are currently making use of.

Hope that was educational or something...


-- Jon Seeley
DotNetNuke Modules
Custom DotNetNuke and .NET Development
http://www.seeleyware.com
 
New Post
6/5/2007 1:04 PM
 

Fooberichu:

Wow, that is some serious hardware.  Not to mention how mission critical your DNN installation is.  Now that I see the mission of DNN in your organization, I can see how you can suffer the chills if something goes wrong when you are about to go to production.  I'm really happy to see that it is working well for your customers. 

By the way, thank you very much for the detailed information.  I'm certain many will benefit from it, including myself, it is definitely case study material (not that I want to volunteer you for more work).

Please keep us posted on the problems you may run into with your DNN development as well as your successes.  We don't see many posts of this caliber.

Thank you again for taking the time...

(Insert overflowing beer mug avatar here)

Carlos

 

 
New Post
6/5/2007 1:44 PM
 

If the DNN community (or rather, core team) would like to do a case study with our organization, I'm sure we would be more than happy to do so.  The HR vice president (who "authorized" the conversion) has stated that he wants us to try and "give back" to the community whenever we can.  If the Core Team would like to look into this, feel free to contact me and we'll set up the appropriate channels to make this happen.

On that note, I have no problem answering questions to anybody out there about how certain things work in our DNN setup or why I took steps that I did.  Please feel free to ask away and I will answer everything as best and quickly as I can.

I am just happy that the community is responsive to the majority of questions/issues I have brought up and I want to give back in whatever way I can.


-- Jon Seeley
DotNetNuke Modules
Custom DotNetNuke and .NET Development
http://www.seeleyware.com
 
New Post
6/5/2007 3:53 PM
 

Could you please tell how much unique visitor and hits does your portal sustain per day, what is the hardware equivalent of your virtual machine that is running the portal?

Also very interested in your №2 solution.


 
Previous
 
Next
HomeHomeOur CommunityOur CommunityGeneral Discuss...General Discuss...Deployment nightmare from hell!Deployment nightmare from hell!


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out