[prev in list] [next in list] [prev in thread] [next in thread] 

List:       owncloud
Subject:    [Owncloud] Re: suggestions for improvement
From:       François_K. <daitheflu () free ! fr>
Date:       2010-11-05 15:17:28
Message-ID: 1665895113.19723601288970248129.JavaMail.root () zimbra9-e2 ! priv ! proxad ! net
[Download RAW message or body]

Hi,

Me again :)
Just a word to say that I fully agree with s8inac.

1/ Regarding files organization, I personnaly do the following for every projects I \
manage :

 /
 + apps
    + application_1
       + classes
       + config
       + controllers
       + misc
       + views
       - index.php
    - index.php
 + www
    + application_1
       + css
       + images
       + js
       - index.php
    - index.php

Let me explain the thing :
I always separate the "public" folder (here it's called 'www', but yours might be \
'public_html' or whatever) from the rest for security purpose. Everything in 'www' \
should be considered as public. When the webserver works as expected, it's OK to have \
everything in it (included .php files), but when it doesn't, it can suck a lot. \
Facebook got hacked because of that : the webserver was serving .php files as plain \
text ! So, in my 'www' folder, I have only :
- a 'css' folder that contains stylesheets,
- a 'js' folder that contains javascripts,
- an 'images' folder with all images,
- an index.php file that "redirects" (require_once) to \
"../../apps/application_1/index.php".

See ? Nothing important in it. So, if the webserver fails and starts to serve files \
as plain text, hackers would only see the path to the app index page (which isn't \
important since it's not public).

In the apps folder, I have a folder for each hosted app/site ('application_1' in my \
                example). Each one contains :
- a 'classes' folder where I store all my classes,
- a 'config' folder to store config files (app preferences or DB connexion stuff),
- a 'controllers' folder to store the PHP programs that do stuff such as querying the \
                DB, getting stuff from files, etc.,
- a 'misc' folder to store helpers PHP functions, libraries, and stuff like that,
- a 'views' folder to store HTML files that can be filled with data gathered by \
controllers, thanks to the PHP alternative syntax (see \
http://php.net/manual/en/control-structures.alternative-syntax.php).

As you can see, I also have index.php files everywhere to redirect where I want.

Allright, this is just an example. I'm not saying we have to make things this way. \
But I think it would be a good practice to define a well-structured tree. Examples of \
files organizations can be found in every PHP framework.


2/ What about defining our own namespace ?


3/ Also, wouldn't it be better for devs to have their own branch rather than their \
own git clone ?


As always, any comment is welcome !
And I promise to stop bothering you with my emails until tomorrow ;)

Cheers,

-- 
François



----- Mail Original -----
De: info@s8inac.org
À: info@s8inac.org
Cc: owncloud@kde.org
Envoyé: Jeudi 4 Novembre 2010 18h24:41 GMT +01:00 Amsterdam / Berlin / Berne / Rome / \
                Stockholm / Vienne
Objet: [Owncloud] Re: suggestions for improvement

hey,

i hadn't much time the last weeks for programming but i had some new  
thoughts about this project.

- we should define a codingstyle, e.g. for each class a file; use folders!
- drop php 4 compatibility for better oop design

and some more but yet not ready

kinds regards
- simon

> Zitat von info@s8inac.org:
> Zitat von Robin Appelman <icewind1991@gmail.com>:
> 
> > On Tue, Oct 5, 2010 at 23:02,  <info@s8inac.org> wrote:
> > > Dear developers,
> > > 
> > > since i had read something about this project i was interested in it.
> > > i like kde for many years and wanted always take part in kde but i couldn't
> > > imagine how.
> > > with this project i will contributing kde but as i reviewed the code
> > > it was very
> > > confusing for me. i am developing many years with php that's not   
> > > the reason.
> > > it's the mixed code (php, html and css together) and a bit of smelling
> > > code (it's not personally).
> > > 
> > > so i have some suggestions for improvement:
> > > - split this mixed code in application and presentation
> > > - application is e.g. managing files and users
> > > - presentation is e.g.  a web interface, webdav
> > > - move 3rd party software to lib folder instead of inc
> > > 
> > > i already started a clone of oc. it is called s8inacs-owncloud on   
> > > gitorious.
> > > 
> > > wait for your opinion
> > > 
> > > kind regards
> > > Simon
> > First, sorry about the late reply, I've been pretty occupied with
> > various things lately.
> > 
> > I've not taken a good look at your changes yet but the ideas that you
> > propose seem valid enough to me.
> > With 1.1 planned for release somewhere soon, it's probably a little
> > late to put the changes in 1.1,
> > but for the next version I think we can push some, or all of your
> > ideas and changes into the main repo.
> > 
> > - Robin Appelman
> > 
> 
> i'm not ready with my changes. may it takes some more weeks or months,
> not including testing. it's would be inteteresting for 2.0 or 3.0.
> but it's would be great if somebody could help me.
> 
> - simon
> _______________________________________________
> Owncloud mailing list
> Owncloud@kde.org
> https://mail.kde.org/mailman/listinfo/owncloud
> 


_______________________________________________
Owncloud mailing list
Owncloud@kde.org
https://mail.kde.org/mailman/listinfo/owncloud
_______________________________________________
Owncloud mailing list
Owncloud@kde.org
https://mail.kde.org/mailman/listinfo/owncloud


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic