Welcome!
This is the community forum for my apps Pythonista and Editorial.
For individual support questions, you can also send an email. If you have a very short question or just want to say hello — I'm @olemoritz on Twitter.
Outliner with drag/drop reordering - part 2
-
@ihf said:
Perhaps it is not looking in all the valid places?
Perhaps you did not install them at the right place 😂
I guess they are all in sites-packages, except blackmamba in sites-packages-3 (done by author installation process)Nb I don't have these messages, thus....please move them at the right place
-
@ihf V01.06 and outline.versions with
Version V01.06 - add/update calendar event at each outline file save, with - calendar = Outline - start/end date = 20220101 01:01 - title = outline file name - notes = outline text nb: to be used on Apple Watch via shortcuts
-
@ihf Please, give me some feedback about Apple Watch and Mac (Safari web page) solutions.
-
@cvp The new save to calendar worked fine on my iPhone. However, I then ran it on my iPad with the same Outline and it wrote a second (modified) calendar item with same name. The Shortcut seems to pickup the older one (I presume should only be one).
I’ll check out the Mac reader shortly. -
@ihf said
The Shortcut seems to pickup the older one
I got the same problem during some time, exactly like if the Apple Watch kept a cache of the previous calendar event notes, because there was only one event in the calendar.
iCloud updating of the calendar event takes some time... Not the first time I note that. -
@cvp It’s hours later and there are still 2 calendar items with same name.
-
@ihf Weird becuse when I create an event, I store its unique id (event title is not a key) in the outline file and when I update an outline file, I reuse this id to update the event, I don't create a 2nd one.
Did you use the outline.py on two devices on the same outline?Édit: when you have tested the shortcut, days before The last version of outline.py, you had created manually an event to test the shortcut. Before testing the V01.06, did you remove these manual events? Perhaps, one of your two events is manual and the other automatic?
-
@ihf V01.07 and outline.versions with
Version V01.07 - correction of bug "when automatic event was already existing, updating the outline did not update the event. Only add was ok"
but anyway, this bug does not explain how you could have two same events, please read and check my edit part in my previous post, and give feedback, thanks
-
@cvp I thought I had deleted the manual event but I suppose it’s possible that I did not. And yes I edited the same outline on two devices.
-
@cvp I think I’m getting a little confused. I deleted the duplicate events and downloaded the latest version of outline.py. I then opened the outline and did a save. Should that now create a calendar event or do I have to create one with no content before it will save it there? In any case, I don’t see any event created on that date.
-
@ihf I did exactly what you did:
- delete existing event
- open the outline
- modify it
(did you modify it?)
- save
- a new event is appeared
-
@cvp sorry, ignore that report. It works as expected and is quite useful on the Watch.
-
@cvp Correction to my correction. I ran version 1.07 on my iPhone and it correctly created an event. I just downloaded version 1.07 on my iPad and opened that outline and made a change and saved it now I have two events with the same outline name in the calendar.
-
@ihf I don't see any explication to your problem. Perhaps you did run on a second device before the calendar has been synced via iCloud on this device. I've remarked that iCloud calendar synchronization is not very quick.
Just to be sure, settings calendar/sync has to be set to "all events".The only modification that I could do is: if the outline contains an eventid, that implies that an event has been already created, but if this eventid is not reachable (not yet synced), actually I create another event, I could give a message and bypass this new creation but in this case, the notes field would not be updated.
-
@cvp I’ll delete both events and try again on both devices. I’ll confirm that the first device has written the event before trying the second. Stay tuned.
-
@ihf The eventid is stored in the outline file, thus if you delete the event it-self, when the script tries to update the event, this one is not reachable thus the script should create a new one.
-
@cvp Sorry to report that it wrote 2 events for the same outline. It never erased the one from the iPad when it wrote the one from the iPhone.
-
@ihf said
Sorry to report that it wrote 2 events for the same outline. It never erased the one from the iPad when it wrote the one from the iPhone.
Annoying. That will say that the eventid of the "created on iPad" event is not reachable on iPhone.
I did not test on two devices because my outlines folder is local on my iPad. I need to change that for next tests. Sorry for you, but that will not be immediate. -
@ihf The problem comes from the fact that eventIdentifier is not the same on different devices, and I thought it was shared on devices. My mistake, thus I have to search for a different solution. Sorry for you. but, I'll do it.
I think that I'll (try to) identify the event by its title and if I need to update it, even on another device, I'll search the event with the same title (at 20220101 01:01 in Outline calendar ) If not found, I create it, else I update it.
V01.08 and outline.versions with
Version V01.08 - correction of bug "eventIdentifier not shared cross devices for outline event"
Nb: - if you rename the outline file, renaming the event title is not yet supported
- this problem of eventIdentifier not shared on different devices has the same consequences for events for due dates (remember problems we got) but I'm not ready to correct this part because it has a lot of implications. Sorry.you have to manually remove events and install the same version on all devices before testing
-
@cvp I may not be understanding this correctly but could you just put a unique identifier in the outline file and in the event and use that?