Updates & Getting Involved

Hi all,

Sorry not updated in sometime - there were quite a few updates recently (you can check the svn log :)

Since we have a small community on this list, I am wondering if anyone has spare time in contributing on the framework. Some of the new updates I am planning are:

1. Removal of automatic foreign key creation from Link fields - as this causes too much indexing at times as MySQL automatically indexes foreign keys - we need to keep indexing separate.

2. In-session Login - if the session gets expired, then the user must be given a chance to login again through a dialog without losing the session

3. Email Notification on Submit - when a user Submits a record, there should be a way to easily notify via email to related contacts whose email ids are present in the transaction

4. DocType Property Overriding - for mult-database multi-tenant apps, there should be another layer on the doctype that allows the user to customize / override doctype properties without disturbing the doctype (as this can be maintained by the administrator)

5. Multi-lingual module - create a module where the user can add and get messages based on a global language setting - integrate DocType labels to map to this module

6. Scheduler - automatic scheduler that will execute certain methods at given intervals / times and will be fired by cron

7. Incoming (POP3) mail integration - a table that will refresh incoming emails and execute relevant triggers - this is useful for implementing email driven workflow.

8. Re-write of the webnotes.model.import_data module into nice object oriented code

If anyone out there wants to help in implementing any of these features, please let me know - I can surely give time in helping you get started or for any discussion!

regards,
Rushabh





You received this message because you are subscribed to the Google Groups “Web Notes Framework Forum” group.

To post to this group, send email to wn...@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.






1. Removal of automatic foreign key creation from Link fields - as this causes too much indexing at times as MySQL automatically indexes foreign keys - we need to keep indexing separate.


It seems to be an innodb behaviour. It does make sense though,given a lot of times foreign key tables are queried. Perhaps the solution is to actually enable foreign key creation as part of the scheduler once a day(midnight?) only??

6. Scheduler - automatic scheduler that will execute certain methods at given intervals / times and will be fired by cron

Is the DocTrigger implemented and live? The simplest solution, i can think of is to add a trigger to DocTrigger table(with timestamp, being the triggering event). Then having a python script read from the table and execute the target function.

Also, can you update the latest Framework.sql? I couldn't find the doctrigger table there.
7. Incoming (POP3) mail integration - a table that will refresh incoming emails and execute relevant triggers - this is useful for implementing email driven workflow.


8. Re-write of the webnotes.model.import_data module into nice object oriented code




Thanks and Regards,

Anand Jeyahar



You received this message because you are subscribed to the Google Groups “Web Notes Framework Forum” group.

To post to this group, send email to wn...@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.

Hi Anand,




1. Removal of automatic foreign key creation from Link fields - as this causes too much indexing at times as MySQL automatically indexes foreign keys - we need to keep indexing separate.


It seems to be an innodb behaviour. It does make sense though,given a lot of times foreign key tables are queried. Perhaps the solution is to  actually enable foreign key creation as part of the scheduler once a day(midnight?) only??

We had been doing well without defining foreign keys explicitly before - after defining, so far it has been more trouble than benefit + innodb seems to have some renaming issue on tables with foreign keys that pops up randomly (did not go to the root of the issue)


6. Scheduler - automatic scheduler that will execute certain methods at given intervals / times and will be fired by cron

 Is the DocTrigger implemented and live? The simplest solution, i can think of is to add a trigger to DocTrigger table(with timestamp, being the triggering event). Then having a python script read from the table and execute the target function. 


You will need more than a timestamp - also an interval - i was thinking a cron-style definition where you can go down to the hour 

Also, can you update the latest Framework.sql? I couldn't find the doctrigger table there.

Aaah that would be difficult. You can just

webnotes.modules.module_manager.reload_doc('core', 'doctype', 'doctrigger')

;-)

 
7. Incoming (POP3) mail integration - a table that will refresh incoming emails and execute relevant triggers - this is useful for implementing email driven workflow.

8. Re-write of the webnotes.model.import_data module into nice object oriented code




Thanks and Regards,
Anand Jeyahar
 

--
You received this message because you are subscribed to the Google Groups "Web Notes Framework Forum" group.
To post to this group, send email to wn...@googlegroups.com.
To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.

---------------------------------------------------------------------------------
erpnext

World's most affordable ERP - Rs 299/user/month






You received this message because you are subscribed to the Google Groups “Web Notes Framework Forum” group.

To post to this group, send email to wn...@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.

Thanks Rushabh for the update…
My comments for few of the requirements below…


4. DocType Property Overriding - for mult-database multi-tenant apps, there should be another layer on the doctype that allows the user to customize / override doctype properties without disturbing the doctype (as this can be maintained by the administrator)

Can the metadata definition also be based on the client so that the default metadata could be used (inherited) by client(tenant) wherever there is no change and use client specific metadata where there is a customisation...(I believe we've earlier discussed along these lines..)
5. Multi-lingual module - create a module where the user can add and get messages based on a global language setting - integrate DocType labels to map to this module

I'll try and send a approach doc. for this req. If it's ok, we can go ahead and implement.
6. Scheduler - automatic scheduler that will execute certain methods at given intervals / times and will be fired by cron

Celery [http://celeryproject.org/] will fit nicely for this requirement.

Regards,
Mahendran




You received this message because you are subscribed to the Google Groups “Web Notes Framework Forum” group.

To post to this group, send email to wn...@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.

Hi Mahendran,

On May 4, 2011, at 10:29 PM, Mahendra Rajan wrote:

Thanks Rushabh for the update...
My comments for few of the requirements below...

4. DocType Property Overriding - for mult-database multi-tenant apps, there should be another layer on the doctype that allows the user to customize / override doctype properties without disturbing the doctype (as this can be maintained by the administrator)

Can the metadata definition also be based on the client so that the default metadata could be used (inherited) by client(tenant) wherever there is no change and use client specific metadata where there is a customisation...(I believe we've earlier discussed along these lines..)

Thats precisely the case we are looking at - the assumption is that for a multi-database structure, there are some properties that the client would like to over-ride and this would provide for a way to do that without disturbing the inside structure.

5. Multi-lingual module - create a module where the user can add and get messages based on a global language setting - integrate DocType labels to map to this module

 I'll try and send a approach doc. for this req. If it's ok, we can go ahead and implement.

Cool

6. Scheduler - automatic scheduler that will execute certain methods at given intervals / times and will be fired by cron

Celery [http://celeryproject.org/]  will fit nicely for this requirement.

you will have to help me again :) - From what I understand its a full messaging system. won't it be an overkill at this stage? I am sure its very useful - but at the moment I am only looking at a simple way where I can fire tasks at certain intervals or days of week - like to send out a newsletter or some update or query a mail account (using pop3)


Regards,
Mahendran



--
You received this message because you are subscribed to the Google Groups "Web Notes Framework Forum" group.
To post to this group, send email to wn...@googlegroups.com.
To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.

---------------------------------------------------------------------------------
erpnext

World's most affordable ERP - Rs 299/user/month






You received this message because you are subscribed to the Google Groups “Web Notes Framework Forum” group.

To post to this group, send email to wn...@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.

Hi Rushabh,


6. Scheduler - automatic scheduler that will execute certain methods at given intervals / times and will be fired by cron

Celery [http://celeryproject.org/] will fit nicely for this requirement.

you will have to help me again :) - From what I understand its a full messaging system. won't it be an overkill at this stage? I am sure its very useful - but at the moment I am only looking at a simple way where I can fire tasks at certain intervals or days of week - like to send out a newsletter or some update or query a mail account (using pop3)

Though it's a full fledged messaging system, it could be used as a simple cron too.
Any hand-rolled scheduler might work for the specific use case at hand, but over the period there will surely be shortcomings which will necessitate a system with all bells and whistles.
I also believe that currently wnframework doesn't have means to manage async jobs( say batch processing) and a front end to start/stop/check status of the jobs. Celery will support this out of the box.

Regards,
Mahendran



You received this message because you are subscribed to the Google Groups “Web Notes Framework Forum” group.

To post to this group, send email to wn...@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.


6. Scheduler - automatic scheduler that will execute certain methods at given intervals / times and will be fired by cron

Celery [http://celeryproject.org/]  will fit nicely for this requirement.

you will have to help me again :) - From what I understand its a full messaging system. won't it be an overkill at this stage? I am sure its very useful - but at the moment I am only looking at a simple way where I can fire tasks at certain intervals or days of week - like to send out a newsletter or some update or query a mail account (using pop3)

Though it's a full fledged messaging system, it could be used as a simple cron too.

I was thinking of using cron to fire the event :)



Any hand-rolled scheduler might work for the specific use case at hand, but over the period there will surely be shortcomings which will necessitate a system with all bells and whistles.
I also believe that currently wnframework doesn't have means to manage async jobs( say batch processing)  and a front end to start/stop/check status of the jobs. Celery will support this out of the box.

Regards,
Mahendran

--
You received this message because you are subscribed to the Google Groups "Web Notes Framework Forum" group.
To post to this group, send email to wn...@googlegroups.com.
To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.

---------------------------------------------------------------------------------
erpnext

World's most affordable ERP - Rs 299/user/month






You received this message because you are subscribed to the Google Groups “Web Notes Framework Forum” group.

To post to this group, send email to wn...@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.


==============================================
Anand Jeyahar
http://in.linkedin.com/in/anandjeyahar

https://sites.google.com/site/anandjeyahar/

==============================================
The man who is really serious,
with the urge to find out what truth is,
has no style at all. He lives only in what is.
~Bruce Lee





On 4 May 2011 15:53, Rushabh Mehta <rm…@gmail.com> wrote:

Hi Anand,




1. Removal of automatic foreign key creation from Link fields - as this causes too much indexing at times as MySQL automatically indexes foreign keys - we need to keep indexing separate.


It seems to be an innodb behaviour. It does make sense though,given a lot of times foreign key tables are queried. Perhaps the solution is to actually enable foreign key creation as part of the scheduler once a day(midnight?) only??

We had been doing well without defining foreign keys explicitly before - after defining, so far it has been more trouble than benefit + innodb seems to have some renaming issue on tables with foreign keys that pops up randomly (did not go to the root of the issue)
foreign keys are a good long-term investment. They definitely improve performance, so unless we plan to build a storage engine ourself. Besides i think the problem is happening while modifying/dropping columns(foreign key referred) in the parent/child table.http://stackoverflow.com/questions/160233/what-does-mysql-error-1025-hy000-error-on-rename-of-foo-errorno-150-mea
Apparently both the foreignkey and index has to be dropped while renaming the column.


I haven't checked, but i guess db_schema.py doesn't check for foreign keys and/or the corresponding indexes while modifying/dropping columns.



6. Scheduler - automatic scheduler that will execute certain methods at given intervals / times and will be fired by cron

Is the DocTrigger implemented and live? The simplest solution, i can think of is to add a trigger to DocTrigger table(with timestamp, being the triggering event). Then having a python script read from the table and execute the target function.


You will need more than a timestamp - also an interval - i was thinking a cron-style definition where you can go down to the hour
Indeed. I will have to define a cron-style table too.


Also, can you update the latest Framework.sql? I couldn't find the doctrigger table there.

Aaah that would be difficult. You can just


webnotes.modules.module_manager.reload_doc('core', 'doctype', 'doctrigger')

;-)

:-P Ok will do that and put up a blue-print/schema of sorts(sometime over the next week).

Thanks and Regards,
Anand Jeyahar



You received this message because you are subscribed to the Google Groups “Web Notes Framework Forum” group.

To post to this group, send email to wn...@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.





On 5 May 2011 11:14, Rushabh Mehta <rm...@gmail.com> wrote:

6. Scheduler - automatic scheduler that will execute certain methods at given intervals / times and will be fired by cron

Celery [http://celeryproject.org/] will fit nicely for this requirement.


you will have to help me again :slight_smile: - From what I understand its a full messaging system. won't it be an overkill at this stage? I am sure its very useful - but at the moment I am only looking at a simple way where I can fire tasks at certain intervals or days of week - like to send out a newsletter or some update or query a mail account (using pop3)


Though it's a full fledged messaging system, it could be used as a simple cron too.


I was thinking of using cron to fire the event :)



Any hand-rolled scheduler might work for the specific use case at hand, but over the period there will surely be shortcomings which will necessitate a system with all bells and whistles.

I also believe that currently wnframework doesn't have means to manage async jobs( say batch processing) and a front end to start/stop/check status of the jobs. Celery will support this out of the box.

My first thought was python apscheduler, but then it works on a Background daemon/server -client model. http://packages.python.org/APScheduler/
Celery looks interesting but not sure how much work will be required. will check and update
Regards,
Mahendran

--
You received this message because you are subscribed to the Google Groups "Web Notes Framework Forum" group.

To post to this group, send email to wn…@googlegroups.com.
To unsubscribe from this group, send email to wnframework+un…@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.


---------------------------------------------------------------------------------

erpnext

World's most affordable ERP - Rs 299/user/month







You received this message because you are subscribed to the Google Groups "Web Notes Framework Forum" group.

To post to this group, send email to wn…@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un…@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.




You received this message because you are subscribed to the Google Groups “Web Notes Framework Forum” group.

To post to this group, send email to wn...@googlegroups.com.

To unsubscribe from this group, send email to wnframework+un...@googlegroups.com.

For more options, visit this group at http://groups.google.com/group/wnframework?hl=en.