Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dayone 2 support? #409

Closed
ahmedelgabri opened this issue Feb 8, 2016 · 34 comments
Closed

Dayone 2 support? #409

ahmedelgabri opened this issue Feb 8, 2016 · 34 comments
Labels
day one Issues related to Day One (dayoneapp.com) 🔒 Outdated stale Inactive issue: will be closed soon if no activity

Comments

@ahmedelgabri
Copy link

Dayone 2 was released a couple of days ago and I wonder if it's supported or planned to be supported?

Thanks

@CodyKochmann
Copy link

For now, a good stop gap is just using Day One original for the imports. I've been able to import my journal from day one multiple times without any problems.

On Feb 8, 2016, at 10:09 AM, Ahmed El Gabri notifications@github.com wrote:

Dayone 2 was released a couple of days ago and I wonder if it's supported or planned to be supported?

Thanks


Reply to this email directly or view it on GitHub.

@MinchinWeb
Copy link
Contributor

Dayone 2, from what I understand, uses a database for a backend, where Dayone 'original' used a folder of XML files. Has anyone seen the new database format documented anywhere? That would probably be the first step...

@ahmedelgabri
Copy link
Author

@CodyKochmann that's what I'm doing right now.

@CodyKochmann
Copy link

@ahmedelgabri I haven't seen any documentation on it. If you look at their faq, on their todo list is both support for IFTTT and it looks like their looking towards a web interphase as well which means (assuming from their previous actions) there's a good chance they'll make a web api for it.

Link to Day One 2 FAQ

That being said, I think our next avenue is sending it through IFTTT. I could see them doing something like todoist has where you can import into different lists from different actions.

@ahmedelgabri
Copy link
Author

Not sure if this useful or not but the CLI path has changed too http://help.dayoneapp.com/local-path-for-cli/

@CodyKochmann
Copy link

@ahmedelgabri every little bit helps, I didn't know it moved so thank you.

@ahmedelgabri
Copy link
Author

So I tried to change the journal path to the one in the Day One help and it seems that jrnl works perfectly with Day One 2 after this change, at least I can add new entries. without the need to import from the classic version

@maebert
Copy link
Contributor

maebert commented Feb 10, 2016

Good to know @ahmedelgabri, thanks for figuring this out! I'll update the docs accordingly.

@maebert maebert added the day one Issues related to Day One (dayoneapp.com) label Feb 10, 2016
@ahmedelgabri
Copy link
Author

So adding works, but editing creates a new entry. These are the things I tried until now @maebert

@maebert maebert added this to the 2.0.0 milestone Feb 11, 2016
@maebert
Copy link
Contributor

maebert commented Feb 11, 2016

Mh, had a brief look at it and know where the issue is. I'll fix it tomorrow morning :)

@ahmedelgabri
Copy link
Author

Great, thanks! 👍

@awinecki
Copy link

I've also changed the path like @ahmedelgabri, like specified on DayOne official site, and kind of works.

I can create entries seamlessly using jrnl, they somehow get synced very quickly to the desktop app and DayOne Sync.

However, I cannot browse entries using jrnl -n 10 or jrnl @tag. If you run it right after you create an entry, it'll show, but after a moment it's gone (visible only in DayOne). That's a bummer cause it's nice to grep the journals and do other text operations from CLI.

I've found out the DayOne 2 uses SQLITE as a backend for data. I guess the jrnl viewing command could be updated to fetch entries from the SQLITE db and list them as usual.

dayone2sqlite

@underscorephil
Copy link

Howdy!

The Day One 2 indeed using SQLite for all the entires. The auto import feature is working awesomely for for creation. The files typically get consumed into the DB in a bout 3-4 seconds. But, some additional work will be needed to navigate the tables. I have been working on a python module for interacting with day one. It currently supports creation of entries for both v1 and v2. I am looking into extending the module to support querying existing entries(maybe editing/exporting in the future).

At some point I was planning to take a swing at seeing what jrnl looks like using dayonelib as the interface to day one, but have not had the time yet.

https://github.com/underscorephil/dayonelib

@ahmedelgabri
Copy link
Author

I switched laptops recently and I can't make jrnl work with Day one 2 anymore, anything changed recently? I'm using the same exact config as my old laptop.

{
  "tagsymbols": "#",
  "editor": "nvim",
  "timeformat": "%Y-%m-%d %H:%M",
  "highlight": true,
  "journals": {
    "default": {
      "journal": "~/Library/Group Containers/5U8NS4GX82.dayoneapp2/Data/Auto Import/Default Journal.dayone"
    }
  }
}

@underscorephil
Copy link

@ahmedelgabri I have been having issues with the auto import folder since the last update. I am in communication with the Day One support team. I will let you know what I hear back!

@underscorephil
Copy link

I heard back that they have identified the issue and are hoping to have it fixed in the next release. I have a slight concern that with the release of IFTTT support and that this issue was not caught in QE that they may be moving focus away from the not as in-vogue forms of automation. How the next few months play out may impact how this integration should take place.

@demianturner
Copy link

Hi, I'm also looking for the best way to access Dayone2's datastore. As mentioned above they've moved to a DB backend, in fact CoreData, Apple's default persistence lib. There's an enormous amount of Cocoa code and infrastructure around this lib, I think directly accessing the data by doing SQLite queries is the wrong approach and would be bad design. I was told by Dayone support that the previous version of the app had Spotlight integration implemented, however disabled by default as many users had privacy concerns. Spotlight importers work by default with NSDocument based (file) apps but there is an official alternative approach for CoreData (db) apps.

I think if a Spotlight importer was created for the previous version of the app, it would not be a huge amount of work to update it for CoreData, however 3rd party devs would have to make it clear to the d1 team this feature was desired. Any data extracted from the app using the Spotlight importer (only the 1st party dev can create and sign this component) is added to the macOS meta data store, which is easily queried using Cocoa's NSMetadataQuery or the Mac CLI tool mdfind (which the Cocoa layer wraps). Here's the relevant docs

https://developer.apple.com/library/mac/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/QueryingMetadata.html#//apple_ref/doc/uid/TP40001848-CJBEJBHH

Finally it should be mentioned that the above APIs are ancient, see the Carbon reference in the URL. The d1 team has implemented CoreSpotlight for the current iOS version of the app, this is a modernisation of the latter lib but that only exists on iOS for the moment. So, I'm thinking campaigning for Spotlight to be re-integrated to the Mac app would not be so difficult. Which would make it easier for all of us to access the data again :-)

@ghost
Copy link

ghost commented Oct 18, 2016

May I ask what the status of this is? There seems to be a CLI coming for interacting with day one 2 which might help with this?

@empireshades
Copy link

happy new year. Inquiring about the status of this as well .. Thanks.

@pacificera
Copy link

I have given up on Day One providing end-point encryption and I'm looking to move all those journals to jrnl. What is the best way to export my day one journals to jrnl? Also, if I have some multimedia in my entries what is the best way to continue to view it with jrnl?

@danielhoherd
Copy link

danielhoherd commented May 20, 2017

Updated DayOne 2.0 CLI link: http://help.dayoneapp.com/day-one-2-0/command-line-interface-cli

Glancing over it, the CLI appears to only allow creation of DayOne 2.0 entries, not exporting or reading existing entries. There is a way in the GUI to export to JSON, but it doesn't look like that's available from the CLI.

@ghost
Copy link

ghost commented Jun 29, 2017

With today's announcement of DayOne Premium this issue becomes very important.

@danielhoherd
Copy link

I'm not sure if this is what @openmedi was getting at, but now that DayOne 2 is a service, the apps are free on iOS and macOS. API access is limited to premium accounts, which are paid.

@ghost
Copy link

ghost commented Aug 16, 2017

Any news on this? As far as I can see, those of us, who have been using Day One 2 before the premium announcement have been granted the "Plus" status, which means we're grandfathered in into the features we already own. Everything should work as it did before is what I take from this, so the ideas put forth in this thread should still be somewhat valid.

Going forward what I'd like to see would be the ability to cleanly import a day one 2 json export package. Even though this is not a sync but a one time thing, it would still ease my mind a lot, if there was some mechanism with which to get my data out of Day One 2 and into an open source journaling solution such as jrnl.

@jameskerti
Copy link

Any movement here?

I used to use DayOne. Now I use jrnl, and I like it. When I switched, I was under the impression from reading the website and official docs that jrnl works with DayOne, which I took to mean the current version, not the deprecated one.

It would be great to get my DayOne entries into jrnl.

Obviously it isn't happening urgently but I'm wondering if it's on the road map somewhere.

Thanks again for a great application.

@MinchinWeb
Copy link
Contributor

Would it be possible to provide a sample DayOne 2 export? I don't have access the app myself.

@danpolanco
Copy link

danpolanco commented Dec 10, 2018

I included geodata. Don't worry, not my address. Let me know if there is anything I should redact. I think those UUIDs are for the journal entry, and not my MacBook.

Day One Version: 2.9.2

"metadata" : {
  "version" : "1.0"
},
"entries" : [
{
  "text" : "# Day One Export Example\n\nNORMAL TEXT\n**BOLD TEXT**\n*ITALIC TEXT*\n\n\n![](dayone-moment:\/\/6C886CB69DC14EB9A8B568678C0FDD32)\n\nPicture is above this text\\. This is normal text\\. There is a single line above the picture\\.\n\n#example #tag #are #at #the #bottom",
  "starred" : false,
  "location" : {
    "region" : {
      "center" : {
        "longitude" : -104.89109802246094,
        "latitude" : 39.604099273681641
      },
      "radius" : 75
    },
    "localityName" : "Greenwood Village",
    "country" : "United States",
    "timeZoneName" : "America\/Denver",
    "administrativeArea" : "CO",
    "longitude" : -104.89109802246094,
    "placeName" : "6340 S Fiddlers Green Cir",
    "latitude" : 39.604099273681641
  },
  "creationOSName" : "macOS",
  "uuid" : "0A3BFC9847BD4173881DE43749F23B58",
  "creationOSVersion" : "10.14.1",
  "duration" : 0,
  "modifiedDate" : "2018-12-10T16:56:18Z",
  "richText" : "{\"meta\":{\"version\":1},\"contents\":[{\"text\":\"Day One Export Example\\n\",\"attributes\":{\"line\":{\"header\":1}}},{\"text\":\"\\n\"},{\"text\":\"NORMAL TEXT\\n\"},{\"text\":\"BOLD TEXT\",\"attributes\":{\"bold\":true}},{\"text\":\"\\n\"},{\"text\":\"ITALIC TEXT\",\"attributes\":{\"italic\":true}},{\"text\":\"\\n\\n\"},{\"embeddedObjects\":[{\"identifier\":\"6C886CB69DC14EB9A8B568678C0FDD32\",\"type\":\"photo\"}]},{\"text\":\"\\n\"},{\"text\":\"Picture is above this text. This is normal text. There is a single line above the picture.\\n\\n#example #tag #are #at #the #bottom\"}]}",
  "creationDate" : "2018-12-10T16:52:14Z",
  "creationDevice" : "Raven II",
  "creationDeviceType" : "MacBook Pro",
  "photos" : [
    {
      "fnumber" : "(null)",
      "orderInEntry" : 0,
      "width" : 4962,
      "type" : "jpeg",
      "identifier" : "6C886CB69DC14EB9A8B568678C0FDD32",
      "height" : 3508,
      "md5" : "4179c44375cf73df4a8747291155ee00",
      "focalLength" : "(null)"
    }
  ],
  "weather" : {
    "sunsetDate" : "2018-12-10T23:35:34Z",
    "temperatureCelsius" : 3.9000000953674316,
    "weatherServiceName" : "HAMweather",
    "windBearing" : 150,
    "sunriseDate" : "2018-12-10T14:09:45Z",
    "conditionsDescription" : "Mostly Sunny",
    "pressureMB" : 1025,
    "visibilityKM" : 16.093439102172852,
    "relativeHumidity" : 17,
    "windSpeedKPH" : 7,
    "weatherCode" : "partly-cloudy",
    "windChillCelsius" : 2
  },
  "timeZone" : "America\/Denver",
  "tags" : [
    "tag",
    "bottom",
    "are",
    "the",
    "example",
    "at"
  ],
  "creationDeviceModel" : "MacBookPro14,3"
}
]}

@jameskerti
Copy link

jameskerti commented Dec 11, 2018 via email

@MinchinWeb
Copy link
Contributor

Thanks @DanTheColoradan @jameskerti

DayOne "Classic" identified each entry with a UUID, so I'm not surprised they're maintained that.

@micahellison micahellison removed this from the 2.0.0 milestone Jul 7, 2019
@stale
Copy link

stale bot commented Aug 6, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale Inactive issue: will be closed soon if no activity label Aug 6, 2019
@stale stale bot closed this as completed Aug 13, 2019
@empireshades
Copy link

any updates on this?

@WesSec
Copy link

WesSec commented Nov 11, 2019

Also +1 for dayone 2 support. Or any other form of synchronization with android :)

@MinchinWeb
Copy link
Contributor

Sorry, no update to speak of. Jrnl went through about a two year phase where it was basically dormant. The good news is it's alive once more. Focus, so far, has really been on streamlining the release process, and then dealing with the backlog of Pull Requests and open issues. Personally, I've been working on DayOne Classic issues, but it that remains a work in progress.

As for DayOne 2 (this issue), I don't think any of the core maintains uses DayOne 2, so it's a bit of an uphill battle. I recently discovered DayOne 2 is available for Android (I don't use an iPhone anymore), and so it's something I might investigate (for personal use) in the future.


For Android, if you're comfortable with the command line, you might have luck with Termux, which provides a command line on your phone (and is super cool!). From there, you can install Python and Git. With Python, you can install jrnl via pip. You can use Git to sync your jrnl file to a Git server (such as a private repo on GitHub; now free with the free membership) and then to your other machines. One of the nice parts of jrnl, and a key part of the original design, is that the data should be stored in a plain text file, and plain text is repetitively easy to work with with other tools (like Git).


If someone was so inclined, I think wren (the lead maintainer) would be open to a pull request to implement this, especially if that someone were willing to stick around to clean up any related issues that might crop up down the road. This is probably the most work on a personal level, but is likely also the fastest solution.

@lock
Copy link

lock bot commented May 20, 2020

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot added the 🔒 Outdated label May 20, 2020
@lock lock bot locked as resolved and limited conversation to collaborators May 20, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
day one Issues related to Day One (dayoneapp.com) 🔒 Outdated stale Inactive issue: will be closed soon if no activity
Projects
None yet
Development

No branches or pull requests