Thanks for taking the time to write out so much. I will dig through this, 
it looks very helpful. -- devin

On Wednesday, July 16, 2014 3:49:50 AM UTC, Roberto Rosario wrote:
>
> Previously Mayan looked for a file called settings_local.py in the top 
> directory (same directory as manage.py), and this is was the only file 
> users needed to edit to change settings. This was fine for a while, but 
> allowed only one settings profile (production settings and development 
> settings were in the same while and needed conditional execution using the 
> DEBUG flag) and for users of the new pip package from PyPI created the 
> situation where there was no easy way to determine the location to put the 
> settings_local.py file. The settings_local method relied of customizing 
> Django's default settings.py and adding a try-except block to try to import 
> the settings_local.py and fail silently if it wasn't found.
>
> Paul Whipp submitted changes based on the examples from Two scoops of 
> Django (
> https://github.com/twoscoops/django-twoscoops-project/tree/develop/project_name/project_name/settings)
>  
> that turned Django's default settings.py file into a directory with an 
> __init__.py file (/mayan/settings/__init__.py) which allows to keep doing 
> from 
> mayan import settings and everything will still work indistinguishable 
> from the rest of the code. The original the old settings.py file was 
> cleaned and placed in /mayan/settings/base.py and a sample development 
> settings file was added in /mayan/settngs/development.py which shows how to 
> import the base settings and then extend or override your own. To use the 
> new extended settings file you would have to call the manage.py file with 
> the --settings parameter or else by default it would look only for the 
> mayan.settings file, for example ./manage.py runserver 
> --settings=mayan.settings.development, a very clean solution.
>
> Django projects use a setting called SECRET_KEY that is used internally to 
> sign cookies and other cryptographic chores, this setting has to be 
> different for each install or it could be a security problem. In the past 
> Mayan assumed users would update this setting and not much though was 
> placed on the issue. Now we have a pip installer it is expected that Mayan 
> would be more available to users with no prior knowledge of Django so an 
> effort was made to create this random SECRET_KEY setting automatically 
> after Mayan was installed via pip.  This is the post_install method 
> mentioned before and here is where it happens (
> https://github.com/mayan-edms/mayan-edms/blob/master/setup.py#L26). 
> Because this process creates a new setting, instead of pasting it at the 
> end of the mayan/settings/base file, (which is part of the git repository, 
> and not ideal for update) a new settings file specific only to the local 
> install is created, and this file is called local.py and located in 
> /mayan/settings/local, it imports everything from the /mayan/settings/base 
> file and just extends a new random SECRET_KEY. To avoid having users to 
> manually change to the /venv/lib/python2.7/site-packages/ directory and 
> look for the manage.py, a copy of this file is created called in 
> bin/mayan-edms.py and set to point by default to /mayan/settings/local so 
> that is just works out of the box and yet allows users to customize their 
> settings.
>
> Hope this clear things up a bit.
>
> --Roberto
>
> On Tuesday, July 15, 2014 9:15:17 PM UTC-4, Devin Ceartas wrote:
>>
>> Yeah, I'm staring from the Git clone because I am indeed a developer, and 
>> will need to be making some significant extensions to the system for my 
>> client. Django is obviously new to me, so I see I'll just have to take a 
>> week off and learn that. Made it through the online documentation and 
>> tutorials today and bought the "two scoops" book from Amazon. 
>>
>> As it is, none of the instructions on the page you link to (or anywhere 
>> else on the site) are quite complete enough to get me (a veteran developer 
>> new to Django and relatively new to Python) past the initial setup without 
>> struggle. Hopefully in a few weeks I'll be able to contribute some 
>> significant additions to the documentation, perhaps linked off the existing 
>> pages so as not to be in the way of those with Django experience, for new 
>> comers such as myself. I do have full support from my employer to 
>> contribute as much as I can from my work to the project and do the best we 
>> can to be good citizens in the community. 
>>
>> On Tuesday, July 15, 2014 5:45:33 PM UTC, Mathias Behrle wrote:
>>>
>>> * Devin Ceartas: " Re: [Mayan EDMS: 737] How do Settings Work?" (Tue, 15 
>>> Jul 
>>>   2014 09:56:13 -0700 (PDT)): 
>>>
>>> > post_install ? Is that a method I should call after doing the Git 
>>> clone? 
>>>
>>> No. If you are not familiar with running a Python app from a git clone, 
>>> you are really better of to use the instructions on 
>>>
>>> https://mayan.readthedocs.org/en/latest/intro/installation.html 
>>>
>>>   
>>> > On Tuesday, July 15, 2014 4:45:27 PM UTC, Roberto Rosario wrote: 
>>> > > 
>>> > > Agreed. 
>>> > > 
>>> > > The settings/local.py main purpose is to be able to create an 
>>> automatic 
>>> > > SECRET_KEY to increase security otherwise most users use the default 
>>> > > SECRET_KEY. 
>>> > > 
>>> > > There is too much disparity better the PyPI and the local Git 
>>> installation 
>>> > > methods. Perhaps a startproject like management command for Mayan 
>>> would be 
>>> > > better than a post_install from setup.py as it would be available to 
>>> both 
>>> > > installation methods. 
>>>
>>> I agree, that it would be nice to have the command separated from 
>>> setup.py 
>>> to be able to reuse it whenever it is needed. 
>>>
>>> Basically I think the target audience of a git installation are 
>>> developers, who 
>>> anyway should be supposed to take care of their application paths and 
>>> able to 
>>> tweak their settings. Also it shouldn't be a great impact, when running 
>>> dev 
>>> installations from the default key. 
>>>
>>> So separating the command would be nice, but a full fledged git install 
>>> for me 
>>> is not needed. 
>>>
>>>
>>>
>>> > > 
>>> > > On Tuesday, July 15, 2014 11:39:13 AM UTC-4, Mathias Behrle wrote: 
>>> > >> 
>>> > >> * Devin Ceartas: " Re: [Mayan EDMS: 733] How do Settings Work?" 
>>> (Tue, 15 
>>> > >> Jul 
>>> > >>   2014 08:14:06 -0700 (PDT)): 
>>> > >> 
>>> > >> > On Tuesday, July 15, 2014 10:00:28 AM UTC, Mathias Behrle wrote: 
>>> > >> > > 
>>> > >> > > * Devin Ceartas: " [Mayan EDMS: 731] How do Settings Work?" 
>>> (Mon, 14 
>>> > >> Jul 
>>> > >> > > 2014 
>>> > >> > >   14:24:19 -0700 (PDT)): 
>>> > >> > > 
>>> > >> > > > I'm afraid I'm going to have a number of ignorant questions 
>>> as I 
>>> > >> plow 
>>> > >> > > into 
>>> > >> > > > Mayan -- I have never worked with Django before, and am 
>>> relatively 
>>> > >> new 
>>> > >> > > to 
>>> > >> > > > Python, though I am anything but new to programming in 
>>> general. 
>>> > >> > > > 
>>> > >> > > > It looks like there is some system of cascading .ini type .py 
>>> files 
>>> > >> > > which 
>>> > >> > > > are parsed as settings files, and that Mayan has a long list 
>>> of 
>>> > >> them it 
>>> > >> > > > adds on top of Django, documented 
>>> > >> > > > at 
>>> http://mayan.readthedocs.org/en/latest/topics/settings.html 
>>> > >> > > > 
>>> > >> > > > I see in the setup documentation, toward the end of the 
>>> > >> > > > page 
>>> > >> https://mayan.readthedocs.org/en/latest/intro/installation.html a 
>>> > >> > > > mention of creating my own settings file. I presume this is 
>>> one I 
>>> > >> would 
>>> > >> > > > create to layer on top of the others with my local 
>>> modifications 
>>> > >> and 
>>> > >> > > > additions? The format seems relatively clear, such as adding: 
>>> > >> > > > *WEB_THEME_VERBOSE_LOGIN = False* 
>>> > >> > > > 
>>> > >> > > > If I follow the docs here: 
>>> > >> > > > https://docs.djangoproject.com/en/dev/topics/settings/ it 
>>> looks 
>>> > >> like I 
>>> > >> > > need 
>>> > >> > > > to add something to my wsgi setup to indicate where to find 
>>> the 
>>> > >> > > settings, 
>>> > >> > > > and in mayan/wsgi.py I find the line: 
>>> > >> > > > os.environ.setdefault("DJANGO_SETTINGS_MODULE", 
>>> "mayan.settings") 
>>> > >> > > > 
>>> > >> > > > but I can't find any file named "mayan.settings". 
>>> > >> > > 
>>> > >> > > You find the file location and how to call it under Production 
>>> use at 
>>> > >> > > https://mayan.readthedocs.org/en/latest/intro/installation.html 
>>> > >> > > 
>>> > >> > > > Should there be one or do 
>>> > >> > > > I only need one when I want to override defaults? 
>>> > >> > > 
>>> > >> > > The start command to use (bin/mayan-edms.py) refers to the 
>>> local.py 
>>> > >> file, 
>>> > >> > > which 
>>> > >> > > itself imports base.py containing all default settings. When 
>>> running 
>>> > >> from 
>>> > >> > > defaults you don't need any additional configuration file at 
>>> all. 
>>> > >> > > 
>>> > >> > > > Where should it be 
>>> > >> > > > placed? Am I missing any other piece of this puzzle? 
>>> > >> > > 
>>> > >> > > Please look at the link above and feel free to ask again, if it 
>>> > >> doesn't 
>>> > >> > > solve 
>>> > >> > > your problem. 
>>> > >> > > 
>>> > >> > > Cheers, 
>>> > >> > > Mathias 
>>> > >> > 
>>> > >> > 
>>> > >> > 
>>> > >> > So far I'm more confused. I never ran bin/mayan-edms.py but the 
>>> app is 
>>> > >> > running fine 
>>> > >> 
>>> > >> How do you start the app? 
>>> > >> 
>>> > >> > -- the documentation for that command talks about creating 
>>> > >> > folders etc. but those already exist, they came with what I 
>>> cloned in 
>>> > >> Git 
>>> > >> > from the project. I added a line to local.py but that doesn't 
>>> seem to 
>>> > >> > effect anything. 
>>> > >> 
>>> > >> Cloning and running from git is different than installing from 
>>> pypi. 
>>> > >> 
>>> > >> When you have *installed* the package via 
>>> > >> 
>>> > >> $ pip install mayan-edms==1.0.rc1 
>>> > >> 
>>> > >> or some comparable command, then the configuration files in use are 
>>> under 
>>> > >> 
>>> > >> venv/lib/python2.7/site-packages/mayan/settings/ (provided you used 
>>> a 
>>> > >> virtualenv as recommended and described). 
>>> > >> 
>>> > >> Probably you want also to adapt wsgi.py 
>>> > >> (venv/lib/python2.7/site-packages/mayan/) to use the configuration 
>>> file 
>>> > >> of your 
>>> > >> choice. 
>>> > >> 
>>> > >> @Roberto: I think it should point by default to the same 
>>> configuration as 
>>> > >> mayan-edms.py: 
>>> > >> 
>>> > >> os.environ.setdefault("DJANGO_SETTINGS_MODULE", 
>>> "mayan.settings.local") 
>>> > >> 
>>> > >> ? 
>>> > >> 
>>> > >> 
>>> > >> 
>>> > >> -- 
>>> > >> 
>>> > >>     Mathias Behrle 
>>> > >>     PGP/GnuPG key availabable from any keyserver, ID: 0x8405BBF6 
>>> > >> 
>>> > > 
>>> > 
>>>
>>>
>>>
>>> -- 
>>>
>>>     Mathias Behrle 
>>>     PGP/GnuPG key availabable from any keyserver, ID: 0x8405BBF6 
>>>
>>

-- 

--- 
You received this message because you are subscribed to the Google Groups 
"Mayan EDMS" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to