Jens Lemmer wrote
First of all, thank you all for your response. To answer to some of it:
Thank you for providing these hints and the examples. Sounds like a nice way to integrate and connect some single modules. I was just asking myself what would happen if some module is updated and the update changed that database structure of the module (e.g. other table names, other entity relations etc.) - I guess there would be some errors.
Yes, if DB structure changed this would likely be the case. However, I think you'll find that DB table schema for DNN and most third-party modules is very slow to change in a way that actually moves data from one location to another -- such a case is more likely to be the exception rather than the rule.
Jens Lemmer wrote
mamlin wrote
I think the real question for you will be to define exactly how you want the different components to work together -- THAT will define how much work needs to be done to make the various chosen components appear to be a single, seamless solution.
|
I will write down our specified requirements a little more detailled. Although this is a little longer post, maybe some of you can comment on it (or at least some of the requirements): 1) Active Directory/Registration: As we will run an Intranet, there will not be a registration process, but the login has to be integrated with our Active Directory. 2) Multilanguage: As we are a local subsidiary of an international company, we have to provide an interface in (at least) two languages, switchable from English to Thai and vice versa. 3) Integration: As we will implement an Intranet, there will not only be Social Media tools, but e.g. Wikis, Document Management Systems etc. 4) Organizational structure: As a company, we consist of employees, departments, job descriptions etc. We need to implement this organizational structure within the system, so that on the one hand employees can simply view our organizational chart and click to a person they need, but also to define roles and rights (e.g. the finance department documents can only be viewed by finance department) and connect our organizational structure to the different applications (e.g. show all pictures from people in HR, who is online from IT etc.) 5) Blogs: User can write a blog. Additionally, there can be corporate blogs, department blogs, etc. 6) Wikis: There will be at least a corporate wiki. Additional Wikis can be crated e.g. for projects. 7) Gallery: User have their own picture and video gallery like on Facebook. Additionally, corporate or department galleries. 8) Document Management System: A DMS lets our employees store and manage file resources, assign rights etc. 9) Microblog: People can post what they are doing right now, like on Facebook and Twitter. 10) Calendar: A central calendar informs about corporate events, social activities etc. Events can be categorized, you can subscribe for an event etc. 11) Tagging: Every single piece of information (blog entry, wiki entry, picture, video, document) can be tagged with a tag. 12) Wall: Employees have a wall like on Facebook. It also shows, the users journal ("posted a new picture", "subscribed for Corporate Activity 2008" etc.) Giving Hugs or Gifts would be appreciated; if not implemented, can we develop it ourself? 13) Journal: The journal also shows when an employee posted a new blog post, uploaded something to the Document Management System, created knowledge in the Wiki etc. 14) Activity count: The user profile page shows the activity, like "posted 12 Blog posts", "has 234 pictures" etc.) 15) Bookmarks: User can set internal bookmarks (a Wiki page, a picture, a Blog post etc.) 16) User profile: The user profile can be extended by us with additional fields, to give our employees more personal information they can provide and share (e.g. Facebook profile, favorite books etc.) 17) Birthdays: A birthday list shows the upcoming birthdays. 18) Chat/Shoutbox/Who's online: People can see who is online and chat with them in a shoutbox.
Phew! That's a lot to respond to. I'll reply to some of the items...
(1) Active Directory support is already in DNN. It may present certain quirks depending on your environment/intended use, but it works. There are also third-party modules that help make AD integration more seamless if the default is not to your liking.
(2) Multilanguage. Already there for the core thanks to the "Language Editor". Individual modules (especially third party modules) may have more/less lanuage/region support than the DNN core.
(3) Integration. Very broad topic based on your description. Are you referring to visual integration across modules, feature integration between modules, etc?
(4) Organizational structure. Already supported through use of DNN "roles" and, to some extent, "rolegroups". Even with AD, though, you'll need to manually assign roles to users unless you use some kind of third-party AD module.
(5) Blogs. DNN's Blog module offers everything mentioned. The questions regarding who can blog will come down to module permissions and what roles you've assigned to users. Also note: the core Blog module does not allow multiple authors of the same blog (so a "departmental" blog will require a general "departmental" account if multiple people are to blog on it).
(6) Wiki. Already there.
(7) Gallery. Already there, though this is one area where third-party modules are popular over the core module.
(8) Document management. Somewhat there. The Documents module is really too limited for serious management. The Repository module does a much better job but some third-party modules are notably better. If you need doc management with workflow AND you're on AD then you might also consider leveraging SharePoint for your doc management/storage and DNN for your viewing/download interface.
(9) Microblog. Have not looked into this but should be easy to whip up a custom solution -- you could easily adapt a sample guestbook module for this, for example.
(10) Events/calendar. Core Events module can do most of this already (though interface and event management permissions could be better).
....
(16) User profile. DNN already supports adding custom profile fields. A nice module like Dynamic Registration makes things even better.
(17) Birthdays. No problem to roll your own bday list with a single SQL query if you add a "Birthday" field to the user profile. Simply add your own "helper" module to generate the list as I previously mentioned.
Hopefully others will have some comments on #11 through #15 and #18.
-mamlin