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

HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...Actions in Containers + Print, RSS Icons - Why?Actions in Containers + Print, RSS Icons - Why?
Previous
 
Next
New Post
5/24/2006 5:07 PM
 
Sadly, that's how the market works.

Do you know the truth when you hear it?
Néstor Sánchez
The Dúnadan Raptor -->Follow Me on Twitter Now!
 
New Post
5/24/2006 5:36 PM
 

 

You have good a good point Rodney.  I have brought up many times how I feel that the inclusion of ActionMenu and ActionButtons being left up to the designer is a flaw in the design. 

I feel these items should automatically be added if the module has them.  Afterall, why is it up to some designer i don't even know to decide if they are going to expose the functionallity of my modules?  Then module developers resort to not using the action menu at all, and now every module UI is different which isn't good for the end users.

Keep the discussion going, maybe we can get it on the roadmap.


DotNetNuke Modules from Snapsis.com
 
New Post
5/24/2006 5:47 PM
 

 

And in the defense of the designer.  Why must they know about a module's functionality before they can properly design a container for it?

The ones who attempt to do the containers "right", actually have to design for multiple configurations that the end user may want depending on the module they are wrapping it around.

We are close to what we really need, but not quite there. 

The module developer should expose functionality to the DNN framework (add Actions, ok we have that).

The designer should be able to style these options easily to fit in with their skins, preferrably with CSS, so that it could be over-ridden

The end user or administrator should be able to turn these options on/off through the interface, and change the look if they desire.

I did a better write up last year, let me see if I can track it down.


DotNetNuke Modules from Snapsis.com
 
New Post
5/24/2006 6:18 PM
 

Ahh yes, here it is:

Understanding the stakeholders ( roles ) involved:

    1. The Core Framework - We would like to provide a consistent model for how the master module links to it's "slave" controls that also enforces some structure into how it is implemented.  We would prefer this structure be consistent in functionality, security, and usability.

    2. The Module Developer - Needs an easy way to implement navigation to slave controls.  The developer should not have to be concerned with usability (unless they play more than one role, which is usually the case).

    3. The Designer or Information Architect - would like control over the look & feel of the functional components and should be concerned with the usability.  Note : I combine these two roles here for simplicity, but they are really two different roles which would compound the problems.

    4. The Portal Administrator  - Mainly concerned with the application of security.  This role should not be concerned with the look & feel, or usability (unless they are playing more than one role which is usually the case).

    5. The End User - Wants a consistent interface that provides the functionality they need through an intuitive use of buttons, links, etc. Should not have to be concerned with why functionality is not available where they would expect it due to restrictions or limitations of the framework.

So goals for #1 & #5 are right in line. As well they should be since the goal of #1 is to make #5 happy in the end.  The problem #1 is faced with is that it has to go through 2, 3, & 4 to get there.

So a major question to answer is, "How can the core framework provide for the needs of the module developer, the designer, and the portal administrator, so that they can in turn easily deliver to the needs of the end user"?

One answer is to define clear and distinct interfaces between these roles. Let’s switch from calling these roles to calling them "layers" to distinguish their physical application in the system. We need something that defines the boundaries of the layers, yet allows (and even enforces) them to understand how they are separate but connected. 

Enter the Container

The container is in the unique position of facilitating the inter-connectivity of these layers, but in its current implementation it has several limitations.  These limitations are not due to bad design necessarily, but more because of the way the container has matured into its current involvement.

Some issues with the container as it applies to its function in the framework are:

1.      The container is not aware of the role it plays in facilitating the inter-connectivity. 

a.       It cannot be controlled by the module developer at all.

b.       The portal administrator has limited control over if it will expose it’s functionality to the end-user. For instance, when a portal administrator changes settings on the module like display print, syndicate, etc. they are really changing settings on an object within the container.

2.      The container forces the Designer to share the role of the module developer and expose functionality for modules.

a.       If the Designer leaves out the action objects from the container then the portal administrator can no longer expose the functionality to the end user that the module developer intended them to have.

3.      The container forces the administrator to choose it based on if it will expose the functionality needed rather than just allowing it to be used based on it’s aesthetic appeal.

Some issues with the possible work-arounds:

1.      The container designer can always put all possible actions into all of their containers, but then how do they provide for some feature that might be added later?  Does the Designer of the container have to version their containers to match with a version of a module or DNN?

2.      The portal administrator could always use just a couple of basic containers that contain all the functionality, but that would remove the primary benefit of the having containers.

3.      The module developer could just avoid exposing the functionality through the container and apply the action items to the module itself.

A possible solution:

            The interface between container and module could be more clearly defined and allow the module developer to control what functionality the container actually exposes to the portal admin (instead of have a finite set of admin settings that may or may not be implemented). 

The UI could then have a Container Settings section under the module settings that exposed this functionality to the administrator, who would then decide if they wanted to display it to the end user. The module developer and the portal administrator would both still be at the fate of the designer at this point, so the container would have to have at least one “Required” placeholder for all of the actions that the module developer defines. 

At that point you could take it one step further and say if the container does not define the required placeholder, that the framework will define it instead using a base container. This base container would have all the functionality implemented that the module developer had access to based on the version of the framework.

Conclusion

There will always be issues with the container unless some design changes are made to separate the presentation from the functionality.


DotNetNuke Modules from Snapsis.com
 
New Post
5/27/2006 8:04 PM
 
Hmmm - very good points - it's a tricky situation!

I agree - there needs to be some more design changes to best separate the presentation and functionality logic - something is missing (or not controlled enough)

On a side note, I have received word from Brian Connor (designer behind DejaVu and Clipped) that he will update his skins to conform to the latest requirements - Clipped already does, and at some point in the future he has committed to upgrading the DeJaVu containers - good news...





Entrepreneur

PokerDIY Tournament Manager - PokerDIY Tournament Manager<
PokerDIY Game Finder - Mobile Apps powered by DNN
PokerDIY - Connecting Poker Players

 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Skins, Themes, ...Skins, Themes, ...Actions in Containers + Print, RSS Icons - Why?Actions in Containers + Print, RSS Icons - Why?


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