Quantcast

[Mayan EDMS: 1422] Development setup

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Mayan EDMS: 1422] Development setup

Gerco Dries
Hello!

I'm setting up my development environment for Mayan and I'm wondering a few things (I'm new to Django, Vagrant and Mayan):

- When running the Vagrant box and starting a server, the Mayan installation is always run from a clean checkout of the 'development' branch. What's the workflow for running/testing changes that I'm not ready to commit yet? Is the Vagrant box even intended for that purpose? I'm just wondering how the edit -> run -> test cycle is supposed to work.

- What IDE (if any) or development tools are you using for Mayan? I'm seeing a Python virtualenv and tox. Do you just use any editor or is there a convenient way to edit the code with proper syntax hilighting and Python introspection (know what modules are available, code completion from context, that sort of thing).

Thanks,
Gerco.

--

---
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 [hidden email].
For more options, visit https://groups.google.com/d/optout.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[Mayan EDMS: 1504] Re: Development setup

rosarior
Administrator
Hi Gerco,

Mayan is not a typical Django project in terms of size, complexity and paradigms. There is a documentation chapter explaining these (http://mayan.readthedocs.io/en/v2.1.10/topics/development.html), but still the learning curve for development in Mayan can be steep.

The Vagrant box provides for production and development VM creation. The idea was to provide an equal environment for dealing with bugs and avoid the typical "it works for me" and "I can't recreate it in my setup".
However for me personally it is falling into disuse for performance reasons. We are now trying to replicate bugs regardless of OS or platform and putting our efforts into common deployments (Docker, VMs) instead of common development setups. I would recommend you do a Git clone of the code in whatever OS and setup you feel more comfortable. I use Ubuntu and have more than one clone (one for each series to have different document and setting sets). 

My IDE of choice is Geany (http://www.geany.org), which I use with the Git, Markdown and spell check plugins. This is just a personal preference and nothing to do on how to work with Mayan for others. Some people like Atom and PyCharm. Since a few versions ago a Makefile (https://gitlab.com/mayan-edms/mayan-edms/blob/master/Makefile) is being included to ease development work and let everybody work however they prefer. The code as well as the documentation are always in change so if you have any feedback or experiences you can share you can help improve the way we do things on the project. 

Thanks,
--Roberto

On Saturday, August 13, 2016 at 10:25:14 AM UTC-4, Gerco Dries wrote:
Hello!

I'm setting up my development environment for Mayan and I'm wondering a few things (I'm new to Django, Vagrant and Mayan):

- When running the Vagrant box and starting a server, the Mayan installation is always run from a clean checkout of the 'development' branch. What's the workflow for running/testing changes that I'm not ready to commit yet? Is the Vagrant box even intended for that purpose? I'm just wondering how the edit -> run -> test cycle is supposed to work.

- What IDE (if any) or development tools are you using for Mayan? I'm seeing a Python virtualenv and tox. Do you just use any editor or is there a convenient way to edit the code with proper syntax hilighting and Python introspection (know what modules are available, code completion from context, that sort of thing).

Thanks,
Gerco.

--

---
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 [hidden email].
For more options, visit https://groups.google.com/d/optout.
Loading...