Hi Magan,

Indeed there is no documentation on the topic. I've added a ticket to 
remedy that (https://github.com/mayan-edms/mayan-edms/issues/175). In the 
mean this is the rough idea:

This is for Mayan 1.1, for Mayan 2.0 some the steps have already changed.

1. Create a directory inside mayan/apps for your new app.
2. Create an empty __init__.py and a models.py file with the line:

from django.db import models

this is so Django recognizes this directory as a valid Django app.

3. Tie your code to the post_version_upload signal by adding this to the 
models.py file of your app, this signal fires when a document received a 
new version or a new document is uploaded:

from django.dispatch import receiver
from documents.signals import post_version_upload
from documents.models import DocumentVersion

@receiver(post_version_upload, dispatch_uid=my_new_doc_handler', sender
=DocumentVersion)
def my_new_doc_handler(sender, instance, **kwargs):
    print 'new document version', instance
    print 'new document', instance.document

4. To register a view, create a normal views.py, urls.py. Then create a 
file named links.py and add a dictionary for every link you want to add:

link_my_app_link = {'text': _('Document summary'), 'view': 'myapp:my_view'}

5. In you __init__.py file add:

from navigation.api import register_top_menu
from .links import link_my_app_link 
register_top_menu(name='my_app', link=link_my_app_link)

6. Add you app to INSTALLED_APPS in mayan/settings/base.py and your app's 
urls.py file to mayan/urls.py

That should be it. 

Let us know how it goes. It would also be great if your could document the 
process in the ticket (https://github.com/mayan-edms/mayan-edms/issues/175), 
that would make creating the documentation topic file much easier.  Thanks!



On Saturday, April 4, 2015 at 3:32:27 PM UTC-4, Magan wrote:
>
> Hi, I've read as much as I found within this group, readthedocs and gmane, 
> but couldn't find a way.
>
> I would like to execute a python script against a new document right after 
> it is uploaded.
>
> But I'm not willing to modify the project itself since beyond this, I'd 
> write an app to report the info concerning that post upload processing.
>
>
>    - How to plug my script into Mayan? Or better yet, 
>    - How to add an app with my own views and model to the general project?
>
>
> If necessary, I'm willing to document that procedures.
>
>
> Thanks
>

-- 

--- 
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