+1 from me as well
Definitely would appreciate calendar integration, either Google Calendar or CalDAV!
+1 from me as well regarding the Google Calendar integration!
I would also love seeing this to be tested by Frappe and implemented as an easy to install App @rushabh_mehta
I am getting error while install GCAL app. Could you please help?
Raised issue here
Need it urgently Please help.
try bench migrate
Same error. Already tried. Is it possible to get the logs why it might be failing?
I can see the app GCAL Sync in the Frappe Desk but it only half installed. There is no option for setting gmail id and api key.
Hi Saurabh,
Thanks for help. At last I was able to make things work.
- Upgraded to latest version 6.
- Started redis cache server.
- Dropped the site using
bench drop-site mysite
and again created it. - Added the apps from Frappe Desk.
Things are running smooth now. ERPNext and Frappe Bench are really great tools. Thanks again.
Hi Saurabh,
I tried your GCAL integration,
What i did was
- upgraded to latest version
- update the dependency
- bench get-app gcal GitHub - indictranstech/GCAL
- then install the module through the UI in erpnext.
however when i wanted to setup individual profile and save it using my email address, this error come out
Traceback (innermost last):
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/app.py”, line 69, in application
response = frappe.handler.handle()
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/handler.py”, line 20, in handle
execute_cmd(cmd)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/handler.py”, line 37, in execute_cmd
ret = frappe.call(method, **frappe.form_dict)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/init.py”, line 801, in call
return fn(*args, **newargs)
File “/home/ubuntu/frappe-bench/apps/gcal/gcal/gcal_sync/doctype/sync_configuration/sync_configuration.py”, line 92, in sync_calender
credentials = store.get()
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/oauth2client/client.py”, line 396, in get
return self.locked_get()
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/oauth2client/keyring_storage.py”, line 88, in locked_get
content = keyring.get_password(self._service_name, self._user_name)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/keyring/core.py”, line 42, in get_password
return _keyring_backend.get_password(service_name, username)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/keyring/backends/fail.py”, line 18, in get_password
raise RuntimeError("No recommended backend was available. Install the "
RuntimeError: No recommended backend was available. Install the keyrings.alt package if you want to use the non-recommended backends. See README.rst for details.
it seemed the keyring failed in get password and state no recomended backend was available.
Can you help me with what i am still lacking?
Thanks and apreciated
Anton
i did install the keyring by using ./env/bin/pip install keyring
however the problem persists, it shown that my system dont have compatible keyring backend.
for Information i am installing this to ubuntu 14.04 server and installed all the necessary package that you mentioned.
anything that i miss?
Is ERPNext planning on adopting this as an official app? Also, I uninstalled it, and can’t reinstall because it seems like there are entries in my database that halt the re-install process when it’s trying to create new info, I guess?
+1 for this integration. Many thanks for the effort.
It will be much better to modify this app to support exporting to any calendar rather than gmail calendar only.
I don’t know if that is possible or not.
Regards,
Ahmed
I tried to install and already install dependence like Keyring. However, there is still error: No module named keyring_storage
Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 55, in application
response = frappe.handler.handle()
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 19, in handle
execute_cmd(cmd)
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 36, in execute_cmd
ret = frappe.call(method, **frappe.form_dict)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 879, in call
return fn(*args, **newargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/desk/page/applications/applications.py”, line 79, in install_app
frappe.installer.install_app(name)
File “/home/frappe/frappe-bench/apps/frappe/frappe/installer.py”, line 131, in install_app
sync_for(name, force=True, sync_everything=True, verbose=verbose)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/sync.py”, line 43, in sync_for
import_file_by_path(doc_path, force=force)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/import_file.py”, line 54, in import_file_by_path
import_doc(doc, force=force, data_import=data_import, pre_process=pre_process)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/import_file.py”, line 122, in import_doc
doc.insert()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 231, in insert
self.run_post_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 728, in run_post_save_methods
self.run_method(“on_update”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 661, in run_method
return Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 839, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 822, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 655, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 148, in on_update
self.run_module_method(“on_doctype_update”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/core/doctype/doctype/doctype.py”, line 157, in run_module_method
module = load_doctype_module(self.name, self.module)
File “/home/frappe/frappe-bench/apps/frappe/frappe/modules/init.py”, line 64, in load_doctype_module
doctype_python_modules[key] = frappe.get_module(get_module_name(doctype, module, prefix, suffix))
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 643, in get_module
return importlib.import_module(modulename)
File “/usr/lib/python2.7/importlib/init.py”, line 37, in import_module
import(name)
File “/home/frappe/frappe-bench/apps/gcal/gcal/gcal_sync/doctype/sync_configuration/sync_configuration.py”, line 19, in
from oauth2client.keyring_storage import Storage
ImportError: No module named keyring_storage
from frappe-bench run ./env/bin/pip install keyring
hopefully this will work
@makarand_b can you check this?
@saurabh6790 I had problems installing your app as well.
I was meaning to get in touch but have been busy with work.
I got the same error message as @Tai_Tran_Hong on my first attempt to install via frappe UI.
On the second attempt I would get a pop up in frappe saying:
Duplicate name Module Def GCal Sync
or
frappe.exceptions.DuplicateEntryError: (u'Module Def', u'GCal Sync', IntegrityError(1062, "Duplicate entry 'GCal Sync' for key 'PRIMARY'"))
via bench command line.
So I would bench uninstall-app gcal and go around in circles.
I would really like to install the app so if anyone else has come across this issue any info on how to resolve the errors would be great.
I tried this several time, including uninstall the whole and install again but the problem still happen.
got the same problem…
hi @saurabh6790, does this app work?
I want to install it but I see many people have problems
is this app based on the standards caldav and carddav?
will this be included in the core?
tx