<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Helvetica, Arial, sans-serif">When I develop things I
      like to check out how other successful open source projects
      managed to build things.<br>
      <br>
      Let's take a look at <b>pinax</b>.<br>
      <a class="moz-txt-link-freetext" href="http://pinaxproject.com/">http://pinaxproject.com/</a><br>
      <br>
      <i>"Pinax is an open-source platform built on the Django Web
        Framework. By integrating numerous reusable Django apps and
        providing starter projects and infrastructure tools, Pinax takes
        care of the things that many sites have in common so you can
        focus on what makes your site different. Pinax has been used for
        everything from social networks to conference websites, and from
        intranets to online games."</i><br>
      <br>
      We are indeed building something like pinax but for networks.<br>
      I tried pinax and there are few things which I really like and I
      think we could emulate in this project.<br>
      <br>
      Pinax is basically a set of libraries and django apps, with very
      basic or nonexistant html templates.<br>
      Why no html templates? Because not everyone wants the same
      template, same design, same functionalities. Also the plugins you
      choose determine your design so it is not possible to make an html
      template that is good for every case.<br>
      <br>
      But how can you see how it works if it doesn't have any html
      templates? Here it comes the interesting thing, Pinax includes
      also a set of example projects that are out of the core, these
      example projects include also html templates, with a clean design
      and some basic user interface functionalities.</font><font
      face="Helvetica, Arial, sans-serif"><br>
      You can basically copy and paste one of those example project,
      configure the settings file, create the database for it with:<br>
      <b>python manage.py syncdb<br>
      </b>and then run the development server<br>
      <b>python manage.py runserver</b><br>
      and then see it on <a class="moz-txt-link-freetext" href="http://localhost:8000">http://localhost:8000</a><br>
      <br>
      This is really awsome, for these reasons:<br>
    </font>
    <ul>
      <li><font face="Helvetica, Arial, sans-serif"> it gives you many
          functionalities out of the box</font></li>
      <li><font face="Helvetica, Arial, sans-serif">but it doesn't force
          you to use them</font></li>
      <li><font face="Helvetica, Arial, sans-serif">you can infact
          modify the example project, rename it, change the design, make
          it something completely different</font></li>
      <li><font face="Helvetica, Arial, sans-serif">you can also
          directly build something new from scratch using the several
          apps available with pinax</font></li>
      <li><font face="Helvetica, Arial, sans-serif">you can use
          additional django apps, and some interesting additional django
          apps are developed by the pinax team</font></li>
      <li><font face="Helvetica, Arial, sans-serif">you don't loose
          compatibility with the basecode. By using the example projects
          you are infact not modifying pinax's code. When a new version
          comes you just update the core of pinax hopefully it will
          still work.<br>
        </font></li>
    </ul>
    <font face="Helvetica, Arial, sans-serif">I think the web interfaces
      will have to be standalone apps, it could also be compared to the
      "example project" of pinax.<br>
      It's very possible that different communities might develop
      different web interfaces. So for that reason maybe the core apps
      should not contain any design or user interface functionality
      other than skeletons.<br>
      <br>
    </font><font face="Helvetica, Arial, sans-serif">I'm taking a look
      at nodewatcher, I see some steps in that direction have been
      taken.<br>
      Nodeshot instead is a monolithic piece of code, not abstract at
      all. It focuses more on the user interface, so I guess it could
      become one of the web interfaces available for the framework we
      will develop.<br>
    </font><br>
    I also suggest to take a look at this django ecommerce framework:
    <a class="moz-txt-link-freetext" href="https://www.django-shop.org/">https://www.django-shop.org/</a><br>
    <br>
    They write:<br>
    <blockquote><b><i>If you don’t have the time to read</i><br>
        <i>Check out the most important facts</i></b><br>
      <br>
      <i><b>KISS</b>: Keep It Simple, Stupid. The process of using a
        shop is simple - reading the code should be too.</i><br>
      <br>
      <i><b>Djangonic</b>: The shop should run on Django, not alongside
        it. We should not reinvent ways to solve problems Django already
        solves for us, such as settings management.</i><br>
      <br>
      <i><b>Modular</b>: Most shops have specificities. Instead of
        trying to solve all problems, let's have a clean core for which
        people can write modules.</i><br>
      <br>
      <i><b>For developers</b>: Django-Shop will not be an
        "out-of-the-box" shop solution. People will have to write
        templates for it. Shipping an example shop is not out of the
        question, but it must be well separated from a code perspective.</i><br>
      <br>
      <i><b>Community friendly</b>: This should be developed by and for
        the Django developers community. If we end up having no
        traction, that means there is no reason for this project to
        exist.</i><br>
      <br>
      <b><i>What it definetely should not have</i></b><br>
      <b><i>The no-no’s</i></b><br>
      <br>
      <i><b>Livesettings</b>: Sorry.</i><br>
      <br>
      <i><b>Shipping and maintaining templates in the basic codebase</b>:
        This is wrong.</i><br>
    </blockquote>
    I quite agree with all these statements and I would be happy to
    improve my way of coding in order to follow this pattern.<br>
    <br>
    The point about the django community is interesting. We are
    developing this for wireless communities, but what if some people in
    the django community might like this project? They might offer their
    expertise in helping out! I think that would be great. Also we have
    to consider that we don't have many django developers in our
    wireless communities. Here in Italy there are 2 guys other than me
    that can do stuff in django, but they don't have much time
    available. Moreover they don't really like web stuff, they prefer
    networking. It would be cool if we could find django experts that
    would be interested in the project and would help us out. They might
    not know much about wireless communities but maybe they might need
    some apps in the core so they might want to help out in developing
    something they need.<br>
    <br>
    <div class="moz-signature"><br>
      <b>Federico Capoano</b><br>
      Web Designer & Web Developer<br>
      Portfolio/Blog: <a href="http://nemesisdesign.net">nemesisdesign.net</a><br>
      Twitter: <a href="http://twitter.com/nemesisdesign/">@nemesisdesign</a><br>
      PGP Key ID: 308BD46E</div>
  </body>
</html>