OneDrive / SharePoint Odoo Integration v.10
The tool to automatically synchronize Odoo attachments with OneDrive files in both ways
Synchronization is bilateral. All Odoo attachments are put in OneDrive regularly. OneDrive files create attachments in Odoo in case they are placed in a correct folder. Look at the sections From Odoo to OneDrive and From OneDrive to Odoo
Integration is automatic in both ways. Based on scheduled jobs, Odoo send attachments to OneDrive and retrieve files from there
Any Odoo document might be synced: customers, opportunities, sale or purchase orders, tasks or issues, employees or users, etc. You decide by your own which records should be in OneDrive, and which should be left in Odoo
Synchronization works for SharePoint sites, OneDrive for business, and personal OneDrive. In the first case the files are kept in preselected documents library, in the latter two - in a user' documents library
All synced files are easily accessible though clicking on an attachment. Odoo automatically redirects you to a file previewer. Among others it might be Word or Excel editors (if Office365 is set up). Besides, you might open a whole document folder by clicking on 'Open folder' on the attachment widget
All sync activities might be logged. Control over files and folders creations, moves, name changes and removals. Just turn on the option 'Log sync activities' and access history through the button 'Sync logs'
The tool is compatible with Odoo reporting and mailing apps. If such an app faces a synced file, it retrieves a real content from OneDrive. In particular, the reports 'always reload' feature and messages & mass mailing attachments work properly
Integration is based on a single user endpoint. It means that you should login in OneDrive only once. Afterwards for integrations Odoo would use that credentials disregarding an actual Odoo user. Make sure, however, that real Odoo users have an access to OneDrive to open URLs linked to their attachments
- Prepare and keep updated folders' structure in OneDrive
- Upload new attachments to a correct folder
Odoo creates a convenient directory structure in OneDrive: Odoo / Document type name / Document name / Files, where:
- Odoo is a central directory for Odoo Sync in your Drive.
- Document type is a synced Odoo model, for example, 'Sale orders', 'Opportunities', 'Customers'
- You select document types by yourself. It might be any document type
- Moreover, you might have a few folders for a single document type. Use Odoo domains to have not global 'Partners, but 'Customers' and 'Suppliers', not just 'Sale orders' but 'Commercial offers', 'To deliver', and 'Done orders'
- With each sync Odoo would try to update document types' folders. Add a new document type at any moment. It will appear in OneDrive with a next sync
- You are welcome to introduce or change document types folder names at any moment in Odoo. Take into account: renaming in OneDrive will be recovered to Odoo names
- If you remove a model from integration, it will not be deleted from OneDrive to keep already synced files safe. However, new documents of this type would not be synced
- In case you removed a directory in OneDrive / SharePoint, but it is still configured in Odoo, with a next sync a folder structure is going to be recovered (not files, surely).
- Document is an exact object to sync. For instance, 'Agrolait' or 'SO019'
- Documents are synced in case they relate to a synced document type and satisfy its filters. For example, you are not obliged to sync all partners, you may integrate only 'Customers' and 'Vendors' or only 'Companies', not 'Contacts'
- Odoo would generate a folder in OneDrive for each suitable document even for documents without attachments. It is needed for a backward sync to easily add new files
- OneDrive folder name equals a real document name. It relies upon Odoo name_get method. Thus, Odoo 'Michael Fletcher' (a contact of 'Agrolait') would be OneDrive 'Agrolait, Michael Fletcher'
- If an exact document changes its document type (e.g. a quotation is now confirmed), Odoo will automatically relocate its related folder to a proper parent directory (in the example: from 'Commercial offers' to 'To deliver')
- In case a document relates to a few types (for instance, you have 'Vendors' and 'Customers', while Agrolait is both), this document folder would be put into the most prioritized document type. A document type priority is higher as closer to the top in Odoo interfaces it is
- If an Odoo document is removed, the next sync will remove a corresponding OneDrive directory
- In case you remove a directory in OneDrive / SharePoint, but it still exists in Odoo, OneDrive folder structure would be recovered (while files would be unlinked in both Odoo and OneDrive)
- Folders renaming in OneDrive will be replaced with Odoo names, Odoo document names are more important
- Files are real files taken from Odoo attachments
The resulted path would be, for example, 'Odoo / Quotations / SO019 / commercial offer.png'.
The only exclusion of the rule are stand alone attachments which do not relate to any Odoo documents (their document type is 'ir.attachment'). Such attachments' path is 'Odoo / Stand Alone Attachments / image.png'.
The very first sync might take quite a long, since a lot of folders should be created. Afterwards, it would be much faster. However, it is not recommended to make sync too frequent: once an hour seems quite good for large files.
FilesWith each direct sync, Odoo tries to find not yet synced attachments. If such attachments suit any document type to sync, a file will be uploaded to OneDrive to a proper folder. In Odoo such attachments will become of 'url' type. It means that a file is not any more kept in Odoo server space, but now it is in OneDrive. Until sync is done, Odoo attachment remains binary and stores an actual file. Such approach helps Odoo to work faster.
Clicking on such attachment leads you to a file previewer / editor in OneDrive. Depending on your OneDrive / SharePoint configurations it might be Word, Excel, PDF previewer, etc. Anyway changes to file contents in OneDrive are available in Odoo at the same moment.
If you unlinked an attachment from Odoo, it would be deleted in OneDrive as well.
Take into account that file names should be managed in OneDrive: each backward sync would recover OneDrive names, Odoo is here less important.
- If a new file is added to a proper document folder (e.g. to 'Odoo / Customers / Agrolait'), the same attachment will be added to Odoo document (in the example - to 'Agrolait')
- In document folders you can put not only files but also child folders. In that case a link for this folder (not its content) is kept in attachments
- In case you rename a file in OneDrive, it will be renamed in Odoo as well
- Files' removal from OneDrive leads to related Odoo attachments' removal
- If you move a file to another document folder, in Odoo a related attachment would be re-attached to this new document. Take into account: if you move a file for a not document folder, in Odoo attachment will be deleted as it has been removed from OneDrive
- If you deleted a document type or document folder, their child files are deleted as well. Thus, Odoo would remove related attachments. The folders, however, will be recovered with a next direct sync. Folders' move to another directory is also considered as a removal. Avoid such situations by following the simple rule: folders are managed mostly by Odoo, files - mostly by OneDrive.
SharePoint sites
- Go to your Azure Portal and prepare a new application:
- Grant the app full permissions for Office365 SharePoint online
- Assign the reply url as [YOURODOOSITENAME]/one_drive_token (e.g. https://odootools.com/one_drive_token)
- Generate a new key. Keep it safely somewhere for the future use
- Go to your SharePoint site and prepare a new documents' library (drive). You might use one of the existing ones, e.g. 'Documents'. Odoo folder would be put there afterwards, and it would be impossible to move it for another library
- Go to Odoo general settings > Onedrive.
- Copy 'Application ID' to 'App client_id'
- Put a previously generated key to the field 'App secret key'
- Enter the 'Redirect URL' as you entered 'Reply url' in Azure Portal
- Check the boxes 'OneDrive for business' and 'Use sharepoint sites'
- The SharePoint URL should be of the type https://[URL]/. The last '/' is required, sitename should not be included into. For example, https://odootools.sharepoint.com/
- SharePoint site should be either my_site_name (in that case it is considered as sites/my_site_name) or sites/my_site_name (instead of 'sites' it might be 'teams' and so on). There should be no '/' at the beginning or at the end. For example, sites/odootools
- As Documents Library use one created in SharePoint
- Press 'Save'
- Press 'Login and Confirm'. Odoo redirects you to Microsoft login page. Check in and grant permissions asked.
- After login, Microsoft redirects you back to Odoo. OneDrive - Odoo synchronization is ready to be done.
Create application in your Azure Portal
App's permissions
App's permissions
Redirect url should be https://[yourodoosite]/one_drive_token
Generate a secret key
Create a new SharePoint Documents Library
Create a new SharePoint Documents Library
Enter configuration keys in Odoo
Odoo attachments are ready for sync with Onedrive files. Press 'Sync to Onedrive' for the files upload
Personal OneDrive and OneDrive for business
- Go to https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade
- Click 'New registration'
- Introduce a new name for the application and assign the redirect URI as [YOURODOOSITENAME]/one_drive_token (e.g. https://odootools.com/one_drive_token)
- Copy the Application Client ID to the Odoo field 'App client_id'
- Go to Certificates & secrets > Click 'New Client Secret'. Copy the secret value to the Odoo field 'App Secret Key'
- Press Save on the Odoo configuration Page
- Press 'Login and Confirm'. Odoo redirects you to Microsoft login page. Check in and grant permissions asked
- After login, Microsoft redirects you back to Odoo. OneDrive - Odoo synchronization is ready to be done.
Create OneDrive application
New OneDrive Web platform and redirect url
Generate new secret for your application
Enter configuration keys in Odoo
Migration from the versions prior to the version 1.3.0
- Push the button 'Backward sync' (to make sure recent OneDrive changes are synced)
- Push the button 'Reconnect' and log in Microsoft
- Push the button 'Migrate from the version under 3.0'
- Check / update synced models
- Push the button 'Sync' to apply changes
Reconnection
- You use this tool with version prior to 1.2.0. In that case you should also install the library 'microsoftgraph'. Look above
- You have not used the sync tool for more than 6 months
- Press the button 'Reconnect'
- Press the button 'Login and confirm'
Dažnai užduodami klausimai apie OneDrive / SharePoint Odoo Integration Odoo v.10
Matau klaidą spustelėjęs sinchronizuoto vaizdo debesijos nuorodą
Klaida "This item might have been deleted, expired, or you might not have permission to access it. Contact the owner of this item for more information." reiškia, kad nesate prisijungę prie tarnybos photos.onedrive.com.
Ar galiu keisti sinchronizavimo užduočių dažnį?
Taip, galite. Tam reikia:
Įjunkite derinimo režimą
Eikite į techninius nustatymus > Automatizavimas > Suplanuotos užduotys
Raskite užduotis 'Synchronize attachments with cloud' ir 'Update attachments from cloud'.
Nepamirškite, kad jų neturėtumėte paleisti per dažnai. Pageidautina, kad užduotis spėtų baigtis, kol paleidžiama kita. Nustatymas priklauso nuo to, kiek elementų reikia sinchronizuoti. Paprastai dažnis būna nuo 15 minučių iki 4 valandų.
Taip pat įsitikinkite, kad Odoo konfigūracijos faile nustatėte pakankamus laiko limitus. Parametrai LIMIT_TIME_CPU ir LIMIT_TIME_REAL turi būti lygūs arba didesni už planuojamą cron užduoties laiką. Nuo 13 versijos atsižvelkite ir į parametrą LIMIT_TIME_REAL_CRON.
Svarbi pastaba Odoo.sh klientams: maksimalus cron užduoties laikas gali būti tik 15 minučių.
Ar galiu sukonfigūruoti kitokią sinchronizuojamų katalogų struktūrą nei tą, kurią daro prielaidą sinchronizacija?
Ne, ši funkcija prieinama tik nuo 15 versijos. Iki tos versijos modulis veikia su iš anksto apibrėžta aplankų struktūra:
Odoo - pagrindinis sinchronizavimo aplankas
Models - aplankai kiekvienam Odoo dokumento tipui. Pavyzdžiui, 'Projects', 'Partners'. Pagal domeną gali būti konkretesnių aplankų: pvz., 'Customer 1 Projects', 'Projects of the Customer 2', 'Internal Projects' ir t. t.
Objects - aplankai kiekvienam dokumentui, pvz. 'Project 1' arba 'Customer 1'
Failai ir aplankai, susiję su šiuo Odoo dokumentu ir sinchronizuotini.
Dėl to galite turėti pavyzdžiui:
Odoo / Projects / Project 1 / failai ir aplankai, susiję su project 1
Odoo / Customer 1 Projects / Project 1; Odoo / Customer 2 Projects / Project 3, ...
Odoo / Customers / Customer 1 / failai ir aplankai, susiję su customer 1
Ši struktūra visada plokščia, t. y. yra tik tie hierarchijos lygiai. Todėl teisinga, kad skirtingų dokumentų tipų negalima laikyti toje pačioje struktūroje. Aplanke 'Customer 1' negalime laikyti failų, susijusių ir su pardavimo užsakymais, ir su sąskaitomis, ir su projektais. Kiekvienas toks dokumento tipas turi savo (arba kelis savo) aplankus. Kitaip atgalinė sinchronizacija būtų neįmanoma, nes nebūtų kriterijaus, kuriuo remtis.
Ar turėčiau nustatyti konkrečias naudotojų prieigas Odoo?
Ne, įrankis naudoja vieną naudotojo galinį tašką. Visi sinchronizacijos procesai vyksta vieno cloud administratoriaus (programos) vardu. Sukurtų aplankų / failų prieigos teisės nėra automatizuotos. Tas teises turite administruoti savo debesies saugyklos sprendime.
Kur saugomi sinchronizuoti laukai? Ar jie dubliuojami Odoo ir debesyse?
Programa daro prielaidą, kad priedų dvejetainis turinys saugomas Cloud Client, o ne Odoo serveryje. Todėl tokie priedai Odoo tampa URL tipo ir bet kada galite juos atidaryti iš priedų lauko arba iš Cloud Client.
Po nustatymo rankinių veiksmų nereikia, nes sinchronizacija visiškai automatinė. Nuspręskite, kuriuos Odoo dokumentų tipus sinchronizuoti, ir kiekvienam jų nustatykite susijusį modelį (klientai, pardavimo ar pirkimo užsakymai, užduotys, projektai ir t. t.).
Ar galiu turėti kelis aplankus tam pačiam dokumento tipui? Pavyzdžiui, vidiniams projektams ir klientų projektams?
Taip, galite. Tam paruoškite taisyklę kiekvienam ir tada taikykite filtrus: pvz. pagal projekto tipą.
Stenkitės, kad filtrai būtų vienas kitą išskiriantys, kad dokumentą būtų galima priskirti vienareikšmiškai. Pvz. „klientas, bet ne tiekėjas“, „tiekėjas, bet ne klientas“. Kitaip konkretaus dokumento aplankas šokinės iš vieno modelio į kitą.
Ar man reikia tik programos Cloud Storage Solution?
Ne, įrankis yra tik techninė šerdis. Jums taip pat reikia jungties savo cloud client.
Ar gerai, jei sinchronizuoti reikia daug objektų, pavyzdžiui, 10000?
Taip, nors kai reikia sinchronizuoti daug aplankų/priedų, procesas gali būti lėtas. Tuo pačiu klientai pranešė apie aplinkas su >10k partnerių ir ~5k produktų variantų sinchronizavimui, ir procesai buvo priimtini.
Keletas akcentų:
- Sinchronizacija sukonstruota taip, kad bet kuris elementas būtų sinchronizuotas ir neprarastas, nors tai gali būti lėta. Tai garantuoja FIFO eilės ir kiekvieno darbo commit.
- Objektų skaičių galima logiškai apriboti. Modelių konfigūracija leidžia apriboti pasenusių elementų sinchronizaciją (pvz., nėra prasmės sinchronizuoti archyvuotų partnerių ar užsakymų prieš 2 metus).
Ar galima sinchronizaciją padaryti realiuoju laiku?
Ne. Turime svarių priežasčių vengti sinchronizacijos realiuoju laiku:
Našumo problemos. Jei sinchronizacija vyktų realiuoju laiku, kiekvienas failo įkėlimas rodytų įkėlimo ekraną.
Konfliktų problemos. Jei 2 naudotojai vienu metu pakeičia elementą, gali kilti neišsprendžiamų situacijų. Reguliarių darbų atveju galime tai pataisyti vėliau, o realiuoju laiku tektų tai saugoti kaip eilę ir tai naudotojams būtų dar painiau.
Funkcionalumo problemos. Ypač elementų pervadinimas ir struktūros keitimas. Atgalinėje sinchronizacijoje įrankis griežtai remiasi katalogų logika ir kiekvienos sinchronizacijos metu tikrinama 100 % elementų. Jei tai būtų daroma po kiekvieno atnaujinimo, tai būtų tūkstančiai užklausų per sekundę. Jei ne: pakeitimai būtų prarasti.
Ar galiu sinchronizuoti priedus su keliais debesijos klientais
Ne, ši funkcija prieinama tik nuo 15 versijos.
Mūsų debesyse naudojame specialų redaktorių (pvz. OnlyOffice, Office 365 ir kt.). Ar failai būtų atidaromi tame redaktoriuje?
Taip, priklausomai nuo cloud client konfigūracijos.
Kokios jūsų įrankių naujinimo politikos?
Pagal dabartines Odoo Apps Store taisykles:
- Kiekvienas 12.0 ir senesnės versijos modulis suteikia prieigą prie visų versijų iki 12.0.
- Nuo 13.0 versijos kiekviena modulio versija perkama atskirai.
- Nepriklausomai nuo versijos, pirkimas suteikia teisę į visus atnaujinimus ir pataisas pagrindinės versijos ribose.
Atkreipkite dėmesį: komanda faOtools šių taisyklių nekontroliuoja. Klausimus kreipkite tiesiai Odoo Apps Store atstovams.
Kaip įdiegti jūsų programą Odoo.sh?
Tiesiausias būdas – naudoti įtaisytąją Odoo parduotuvės eigą:
1. Atidarykite modulio puslapį ir spustelėkite mygtuką Deploy on odoo.sh
2. Po to būsite nukreipti į GitHub puslapį. Prisijunkite prie paskyros ir spustelėkite 'Create a new repo' arba naudokite esamą. Įsitikinkite, kad saugykla privati. Programėlių skelbti pagal OPL-1 licenciją negalima. Prireikus sukurkite naują repo Odoo.sh projektui
3. Tada eikite į odoo.sh ir spustelėkite mygtuką Deploy. Iššokančiame lange pateikite sprendimą ir spustelėkite 'Continue.' Tai paleis diegimą.
Šie veiksmai įdiegs programėlę gamybinėje projekto šakoje. Jei norite diegti programėles kitose šakose arba atnaujinti modulį, atlikite šiuos veiksmus:
1. Įkelkite programėlės išeities kodą iš Odoo parduotuvės
2. Įrašykite modulį į reikiamą GitHub saugyklą. Įsitikinkite, kad jokie programėlės aplankai/failai nėra ignoruojami (t. y. nėra repo .gitignore). Saugyklas automatiškai sukuria odoo.sh ir pagal numatymą jose gali būti svarbių elementų (pvz., /lib). Įkelkite visus modulio katalogus, pakatalogius ir failus be išimčių
3. Įdiekite norimą odoo.sh projekto šaką arba, jei nustatymai tai numato, palaukite, kol ji bus sukurta automatiškai.
Kaip įdiegti jūsų programą savo serveryje?
2. Paleiskite Odoo serverį iš naujo;
3. Įjunkite kūrėjo režimą (techniniai nustatymai);
4. Atnaujinkite programų sąrašą (programų meniu);
5. Raskite programą ir spustelėkite „Activate“/„Install“;
6. Vadovaukitės programos puslapio gairėmis, jei jos yra.
Pastebėjau, kad jūsų programa turi papildomų priedų. Ar galiu juos įsigyti vėliau?
Taip, žinoma. Tuo pačiu Odoo automatiškai įdeda visas priklausomybes į krepšelį, todėl anksčiau pirktus įrankius reikia pašalinti, kad nemokėtumėte dukart.
Įdiegiau jūsų programą Odoo.sh ir testuose matau įspėjimą/klaidą
Raudonas/oranžinis įspėjimas nekeičia programos funkcijų. Deja, kartais mūsų moduliai neišlaiko standartinių automatinių testų, nes jie tikisi elgsenos, kuri prieštarauja programos tikslams. Pvz., keičiame kainos skaičiavimą, o standartiniai Odoo modulio testai lygina galutinę kainą su standartiniu algoritmu.
Pirmiausia patikrinkite diegtos duomenų bazės funkcijas. Ar viskas veikia teisingai?
Jei vis tiek manote, kad įspėjimas veikia tikras funkcijas, susisiekite ir atsiųskite visus diegimo žurnalus bei visą diegtų modulių sąrašą (įskaitant branduolį ir trečiųjų šalių).
Ar galiu nusipirkti programėlę tiesiogiai iš jūsų įmonės?
Ne, įrankius platiname tik per oficialią Odoo programų parduotuvę.
Norėčiau gauti nuolaidą
Deja, neturime techninių priemonių individualioms kainoms pateikti.
Ar galiu įdiegti programėlę savo Odoo Online (SaaS) duomenų bazėje?
Ne, trečiųjų šalių programų negalima naudoti Odoo Online. Deja, Odoo SaaS tai blokuoja.
Jūsų įrankis priklauso nuo kitų programų. Ar turiu jas pirkti?
Taip, įrankiui reikia visų priklausomybėse pažymėtų modulių, kad veiktų teisingai. Programos puslapyje nurodyta kaina jau apima visas būtinas priklausomybes.
Kokia modulio kaina JAV doleriais? Kodėl ji pasikeitė?
Mūsų modulių kaina nustatyta eurais. Odoo parduotuvė konvertuoja kainas į kitas valiutas pagal vidinį kursą. Todėl kaina JAV doleriais gali keistis atnaujinus kursą.
Programos ir svetainės tekstai kitomis kalbomis nei anglų parengti su DI ir suderinti su oficialiais Odoo vertimais. Jei pastebėjote klaidą, siųskite bilietą dėl vertimų teisingumo ir pataisysime.
Klaidų pranešimas
Jei susidursite su klaidomis ar nenuosekliu elgesiu, nedvejodami susisiekite. Garantuoame pataisymus per 60 dienų nuo pirkimo ir ir toliau stengiamės tobulinti įrankius po šio laikotarpio.
Norėdami susisiekti, jums nereikia telefono numerio ar kredito kortelės. Užtenka trumpos registracijos el. paštu, kuri trunka ne ilgiau kaip 30 sekundžių.
Į užklausą įtraukite kuo daugiau informacijos: ekrano nuotraukas, Odoo serverio žurnalus, išsamų problemos atkūrimo aprašymą ir pan. Paprastai darbo plano parengimas problemai (jei klaida patvirtinama) arba gairių, ką daryti (kitu atveju), pateikimas trunka kelias darbo dienas.
Vieši funkcijų prašymai ir modulių idėjos (nemokama plėtra)
Esame labai motyvuoti tobulinti savo įrankius ir būsime dėkingi už bet kokį atsiliepimą. Jei jūsų reikalavimai naudingi visiems ir gali būti efektyviai įgyvendinti, komanda įtrauks juos į mūsų darbų sąrašą.
Toks darbų sąrašas tvarkomas reguliariai ir nereiškia papildomų mokesčių. Nors negalime pažadėti terminų ir galutinio dizaino, tai gali būti geras būdas gauti norimas funkcijas be investicijų ir rizikos.
Norėdami susisiekti, jums nereikia telefono numerio ar kredito kortelės. Užtenka trumpos registracijos el. paštu, kuri trunka ne ilgiau kaip 30 sekundžių.
Įrankis slaptažodžiams saugiai laikyti Odoo bendram naudojimui. Bendros saugyklos
198€Įrankis giliam ir struktūruotam žinių bazei kurti vidiniam ir išoriniam naudojimui. Knowledge System. KMS. Wiki tipo revizijos.
398€Įrankis laiku grįstam paslaugų valdymui – nuo susitikimų rezervavimo iki pardavimų ir atsiliepimų
Įrankis KPI tikslams nustatyti ir jų vykdymui pagal laikotarpius kontroliuoti. KPI ataskaitų lentos. Lentų konstruktorius. KPI diagramos
198€Įrankis valdyti Odoo iš mėgstamų AI pokalbių per MCP. Claude. Bet kuris AI su MCP.
198€Įrankis Odoo priedams lanksčiai dėlioti į aplankus ir sinchronizuoti katalogus su debesijos klientais: Google Drive, OneDrive/SharePoint, Nextcloud/ownCloud, Dropbox, Amazon S3, Box ir NAS. DMS. Failų tvarkyklė. Dokumentų valdymo sistema
Įrankis automatinei dvikryptei Odoo priedų sinchronizacijai su Google Drive failais
Įrankis automatinei dvikryptei Odoo priedų sinchronizacijai su ownCloud/Nextcloud failais
Įrankis automatinei dvikryptei Odoo priedų sinchronizacijai su DropBox failais