Following the Arena community developer roundtable, CCV, CCCEV and Arena had another day to discuss several meta issues regarding the developer community and Arena in general.  Although some of that discussion focused on internal matters, there were other things we talked about that are almost certainly interesting to other developers or Arena administrators in the community.

Unfortunately Jeff Maddox was not able to attend the meeting, but Caleb (another Arena Wizard) did a fantastic job leading us through some excellent discussion of ideas and issues. Some of the more technical highlights from that meeting were the following:

  • The possibility of simplifying or reducing the list of modules an admin sees when adding a new module to a page.
    • perhaps through the use of a flag or type setting on the modules (hide advanced modules)
    • or by registering the inherent relationship between modules and then showing the list based on the modules on the current page or parent page.
    • or by using a completely new, visual, drag-n-drop way of adding modules to a page(s) that incorporates the relationships and data currently found in the module/page import/export XML. Perhaps each XML export package (pages and modules) has an icon associated with it and you can add them to a page like the way you 'add stuff' to your iGoogle page or the way you add a module to an spaces.msn.com site.MSN's Spaces - click for full picture
      iGoogle - click for full picture 
  • The possibility of using ASP.NET 2.0's WebParts for a page (such as the PersonDetails "page") where it is desired to be able to add/remove/rearrange both internal and custom modules (aka WebParts) on the page.  This would require a new kind of page -- one that had a WebPartManager with WebPartZones on it so that WebParts could be dynamically placed onto it (see "What Are Web Parts?").  I think Caleb said Jesse (from Arena) would do some more research to further consider the possibilities.
  • A possible future "check-in framework" of some sort.  Perhaps designed using the Provider Model so others could create new providers for completely custom check-in logic or something completely different...
  • Once Arena is updated to .NET 3.5, refactoring areas to use LINQ where there is a big payoff (since some things can be done more easily with a LINQ query) and leaving the remainder for later maintenance cleanup.  We also talked about AJAX in a similar vein -- we don't want to waste too much developer time refactoring where there is no big benefit/value.
  • We talked about the possibility of utilizing ASP.NET 2.0 mobile capabilities to create a simple portal with person search, etc. There is no simple solution to the mobile dilemma (a device with 200x300 resolution is pretty weak IMHO).
  • DNN's Module List -- click for full imageWe talked about custom module versioning and certification whereby a seal (untested, certified with Arena v?.?, etc.) might show the status of the module.  Also we like the way DNN shows each module's version in their equivalent module list and whether or not an upgrade exists for that module. DNN does a lot of smart things with their framework and it would be wise to study them for ideas.

One of the last things we talked about it just too cool to include as a bullet point -- it is a future ASP.NET MVC framework.  Caleb had caught Scott Guthrie's recent blog on the topic and was raising the point of doing true, automated testing.  An application written for a Model View Controller framework has the benefit of being able to be tested much like you would do unit tests on your entity classes!  If Arena were refactored to follow the MVC pattern it would certainly make it possible to produce releases with fewer bugs.  At any rate, this would probably be a major undertaking but something to consider nonetheless.  Go watch the videos linked on Scott's blog entry.