Giter VIP home page Giter VIP logo

mobileorg's Introduction

What is MobileOrg?

https://api.travis-ci.org/MobileOrg/mobileorg.png https://img.shields.io/gitter/room/nwjs/nw.js.svg

MobileOrg is a FREE (open-source) iPhone and iPod Touch application for storing, searching, viewing and editing your Org mode files.

MobileOrg works offline. Although you may not always be online, you can always access your data. You can even capture notes while offline and sync the next time you have connectivity.

MobileOrg feature overview

  • Support for Dropbox, WebDAV and iCloud as a transfer mechanism
  • Org files are stored offline and available anywhere
  • Complete editing support, including editable headings, body text, todo state, tags and priority.
  • Note-taking facility built in, including offline support
  • Full-text search, or search by keyword (TODO, DONE, WAITING) or by tag (errand, office)
  • Mark nodes as done, or flag them with an optional note for reference later
  • Document view of your outlines, for reading document-style Org files with long body text
  • Powerful support for linking between Org files

Org mode integration

Org mode has built-in support for MobileOrg (or any other mobile client that may come along in the future and use the same asymmetric synchronization approach).

  • A simple org-mobile-push will stage your complete set of Org-files for MobileOrg to pick them up. The result includes:
    • An Org file representing all of your custom agenda views
    • Automatic checksum file construction to speed up sync
    • Automatic index.org file generation with links to all of your Org files
  • A powerful org-mobile-pull command, which will integrate changes you’ve made on the go into a local Org file

Contributing

There are a few minor things we request in order to make it easier to accept contributions.

Of course, the main thing is to simply feel free to contribute any and all code. It’s much appreciated!

Setting up your environment

Xcode >=12 is required to build the project.

For the usage of the Dropbox API an application key is necessary. You can obtain it from Dropbox. It is important to apply for keys of the App Folder type not the Full Dropbox type.

Find the file AppKey.plist in the project and obtain the information you’ve received from Dropbox there.

MobileOrg uses Swift Package Manager to resolve dependencies.

WebDAV tests

To allow automated tests of syncing there is an additional Xcode scheme (All Tests) available. This scheme needs a running docker instance.

To set up the WebDAV server for manual tests, please take the Test’s pre-action script as a starting point.

iCloud tests

You have to log in into iCloud account on the simulator to be able to run unit-tests. Otherwise, the test run skips iCloud unit-tests with a warning in the console.

Pull Requests

Pull requests for bug fixes, features or anything else are gladly accepted. Since this is github we follow the fork/pull collaboration style. If you are planning to contribute you should have a fork of the mobileorg repository and issue pull requests from there.

It is expected that the code reviewer will merge your pull request. If you wish to open a pull request for a proof of concept or feedback on an idea, please clearly indicate this in the description or title.

git flow branching model

MobileOrg loosely follows branching inspired by the Git Flow branching model. How this affects contributing is that all new work should be based off the develop branch and be named either feature/your-new-feature, hotfix/some-bug-fix or similar. See the previous link for more information. This will make it much easier to merge your work.

If you like to work further with your fork you should incorporate your changes into the develop-branch not by merging your branch into it, but by syncing your fork with the main repository.

A description how to do this is available at GitHub Help.

bug tracker

github issues

contact

Changelog

See: MobileOrg/mobileorg.github.io#1

Credits

MobileOrg is thanks to the following:

  • Richard Moreland
  • Carsten Dominik
  • Greg Newman
  • Christophe Bataillon
  • Joseph Wain of glyphish.com
  • Sean Escriva
  • Alex Rodich
  • Russell McClellan
  • Mario Martelli

Support

MobileOrg will always stay free in the app store, but the Apple Developer program costs money. Currently I pay $99 a year to maintain this and keep it in the app store. If you’d like to donate toward that you can use the Sponsor button on the Github Repo.

You support MobileOrg just by using it or assisting with bug fixes and feature development. Thanks for your continued interest.

License

MobileOrg is distributed under the GNU Public License version 2. See LICENSE.txt for more info.

mobileorg's People

Contributors

0-wiz-0 avatar d12frosted avatar dive avatar divinedominion avatar jamie-conlon avatar jbhannah avatar jdek avatar lawrence-forooghian avatar mgmart avatar michaeleverson avatar richard avatar russellmcc avatar systole avatar webframp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mobileorg's Issues

Dropbox folder is different with different iOS locale

My iPhone language is Chinese, I need change .emacs settings to make sync works.

Not Works:
(setq org-mobile-directory "~/Dropbox/Apps/MobileOrg")

Works:
(setq org-mobile-directory "~/Dropbox/應用程式/MobileOrg")

Maybe MobileOrg should provide a page show the correct path for user.

Change time stamp presentation

The time stamp should have a toggle pref to turn it off OR appear in the text field so we can delete it OR be placed in the PROPERTIES: section and labeled CREATION_DT or something like that.

BUG: Spaces in org filename

When org filename has spaces, eg "Process Tree.org", then the outline view shows the document does not show any content for the document.

Feature request: agenda support

It would be cool to implement a daily/weekly agenda view. More of a note-to-self, but Ireland time is ahead of the States so I thought I'd put the idea out there.

I'll flesh this out in a few hours.

Empty Note counts as Note

It should also be noted that an empty note still counts as a note. It still has a timestamp on it, so it could have a use to quite a few people, so I'm not sure whether to fix this or not.

Is this desired functionality, or an annoyance?

Syncing loses time information

When I "Capture" a note in mobileorg and then sync it, the entry time is weirdly modified. Usually to 1999.
Attached are two example screenshots, directly before and after a webdav-sync (I think I left the sync screen and went back to it). As you can see, the date of the upper entry was changed from 2013-04-23 to 1999-12-28, but the time stayed the same.
before

after

BUG: Heading level skips

In Outline view, when an org file has a level 1 heading and then a level 4 heading directly under it, it will show these, but will then lose the rest of the document. eg.

* Heading 1
**** Heading 1.1.1.1
** Heading 1.2

  • Heading 2

In the example above, the top level view in Outline will show:
Heading 1
Heading 1.2
whereas it should show
Heading 1
Heading 2

ER: Image support

Please enable Mobileorg to display image links in the Document View. For example you would insert this line into node.m

// image link
{
    NSString *regexString = @"\\[\\[file:([a-zA-Z0-9/\\-\\._]+\\.(?:jpg|png))\\]\\[([a-zA-Z0-9/\\-_\\. '!?]+)\\]\\]";
    line = [line stringByReplacingOccurrencesOfRegex:regexString withString:@"<a href='file:$1'>$2</a>"];

and whatever required changes to allow the link to be tapped by the user and display the image, without having to leave the app.

Respect #+TODO: Tag

The state options in mobile org don't appear to sync with my #+ TODO: settings.

Checkboxes

Currently checkboxes in lists are simply represented as text. It'd be nice if these were ... checkable.

Large org file causes app to terminate?

Also I have error messages in flagged.org:

* F(edit:todo)UNKNOWN PROBLEM [[(null)][(null)]]
** Old value
TODO
** New value
DONE
** End of edit
* F(edit:todo)UNKNOWN PROBLEM [[(null)][(null)]]
** Old value
TODO
** New value
DONE
** End of edit

But the todo items are not updated in the org file on my macbook.

Here's my .emacs file (the relevant part):

(setq org-agenda-files (quote ("~/Dropbox/Private/Everything.org" "~/Dropbox/Private/Shopping.org")))
(setq org-directory "~/Dropbox/Private")
(setq org-mobile-inbox-for-pull "~/Dropbox/Private/flagged.org")
(setq org-mobile-directory "~/Dropbox/Apps/MobileOrg")

[Build] Cocoa API Issue - stringWithString

An insignificant portion of warnings generated from building the project as it is are of the form

Cocoa API Issue
Using 'stringWithString:' with a literal is redundant.

Is there a reason that this construct pops up throughout the source? Is it in place to more easily support future localization/customization via actual NSStrings, or is this some Objective C idiom I haven't come across before, or what?

I'd be happy to go through an make all the necessary changes if we reach a consensus on what to do.

Editor window: always show cursor

When capturing new content, the window always displays the first n lines, even if more lines have been entered than fit on the screen. This means for longer entries you woulnd't see what you type because it's hidden by the onscreen keyboard.

You can of course say "don't do that" but I'd prefer an editor window where the cursor is always visible :)

Feature Request: SSH Sync

One of the features I am hoping to work on once the initial app is released is the ability to sync via SSH in addition to Dropbox and WebDav.

non editing views not retain line breaks during word wrap

This bug is observed in version 0.98 from F-Droid.

When I turn word wrap on, lines I had deliberately left empty as paragraph separators are no longer visible in any of my notes. They reappear when I am in the process of editing the note, but disappear when I save.

Feature Request: More Prominent Sync Button

The sync button can only be found by going to Outline View and even then only when viewing the top level of the outline, a.k.a index.org. It is small, top right corner, and not ubiquitous.

It would be nice to have the sync button feature on the bottom row, large, and always present.

`notesCount` not updating correctly (for the app-badge-icon)

  1. Create a new note, put whatever you want in it, and return to the notes view.
  2. Delete the note.
  3. The app badge does not decrement to reflect the deletion.

I've looked through the code for the noteCount updating (Classes/Capture/NoteListController/-(void)refreshData), but I can't make sense of the code inside CountLocalNotes() (in DataUtils)

Agenda view showing date but not time (IGNORE, wrong post)

IGNORE:
My agenda view on my phone presents my scheduled APPOINTMENTS with correct dates, but the timepoint is missing.

Are the Dropbox/MobileOrg/agendas.org timepoints corrupted?:

  • Week-agenda (W43-W44):KEYS=a TITLE: Agenda
    ** Wednesday 23 october 2013
    *** MEETING Boss Meeting: 11:00-12:00

    :PROPERTIES:
    :ORIGINAL_ID: 898e39cd-1e35-467f-b30b-5d2c73b3dea9
    :END:

Error syncing changes

After setting up Mobileorg to sync with Dropbox (and giving it access), clicking the Sync button on the Outlines view comes up with an error:

Error synching changes
An error was encountered while attempting to fetch mobileorg.org from the server. The error was:
Unexpected error

Of course, mobileorg.org isn't responding to normal HTTP requests.

Thanks for bringing this back from the dead.

Feature request: Scheduling tasks

It would be nice to have the option to schedule tasks with support from the application, i.e. some date or date/time entry widget.

the MobileOrg-TEST dropbox key has run out of users

Dropbox limits the amount of users who can use the key while in dev mode. Whoever owns the dropbox key should be able to add new users.

This issue is also tracking all discussion for work on dropbox api v1 changes

Deprecation, and screen size

While working on another patch to fix deprecation warnings in Xcode, I noticed that the keyboard hide/show code is inconsistent and not optimal.

There are two copies, in Classes/Capture/NewNoteController.m and Classes/Outline/NodeTextEditController.m, only one of which has iPad support.
The code also has hardcoded screen sizes. I hope that this can be done in a better way, but I'm new to the whole thing.
I've tried to make the show-code match the hide code, but this is probably not correct; also, I'm not sure what the magic 55 constant is about.

This bug report is to note the difference between the two (quite similar in idea) code pieces, and to show a diff I came up with which doesn't work yet, but could be base for further work.

Cannot decrypt captured notes

Enabling encryption works for files created in orgmode. But capturing notes on iOS, then sync it to orgmode will not decrypt the note.
Is it possible to change that ?

Support for BitTorrent Sync

Cloud services like Drop Box are not ideal because you are entrusting your data to a third party. BitTorrent Sync synchronizes data between multiple devices using an encrypted p2p protocol, cutting out the middle man. Sync clients are available for iOS, Android, and desktop computer clients (apple, Microsoft, Linux)

MobileOrg back in App Store

I'm working on this now, my testing has been enough to at least get the app back and available in the store.

Mobile Org support for non emacs users

Hi,
Would it be possible to support that?
I would like to upload my org files to drop-box via other ways, e.g., via a script via the dropbox api, not emacs-orgmode built-in pull method.
But I cannot make MobileOrg to download them to iPhone. I get the same error presented in the screenshots in #32

Is it a matter of some indexing I don't provide? What should be the format of the index.org file and where should it be put in the dropbox folder?

Thanks!

Not able to sync

Reported by @rahuljha and @AGagarin:

Not able to sync, I keep getting:

Error downloading checksums

An error was encountered while downloading checksums.dat from the server. This file isn't required, but the error received was unusual. The error was:

Unexpected error

Can we get iOS5 support back?

MobileOrg is no longer usable on 1st-generation iPads, which cannot install iOS 6.

I find it hard to understand why it's not compatible with an the older OS. It doesn't need to interact with Siri, or front-facing cameras, etc.., (at least not as its main job, which is displaying text and lists and agendas.) I would like to request that iOS5 support be brought back if at all possible.

X&Y.org no content

If I have an Org file named X&Y.org, it is copied correctly to the MobileOrg folder, but the display is empty on the iPhone/iPad app. I think the ampersand is the problem.

Files not being displayed

Since I “upgraded” to the new version I can’t see the contents of my Org files. Whenever I click them I only get to see the properties view of the file. When I “View as Document” it displays only the name of the file.

I’m syncing via DAV, which seems to work, at least for agenda.org, as that node gets displayed correctly.

Any ideas?

TODO items

In the original MobileOrg, TODO items could only be added in a flat list, and then had to be refiled. It would be much better if you could add items in the proper place in their hierarchy. Also be able to change item state, and have it sync with the corresponding item in the original file. Maybe the git merge driver work from GSOC could be relevant here?

It would also be useful to be able to start and stop task timers on the phone i.e. the "tracking work time" feature of Org.

Thanks a lot!

ilya

Error downloading checksums

As of a week or two ago I cannot sync MobileOrg. I get the following error:

Error downloading checksums

An error was encountered while
downloading checksums.dat from
the server. This file isn't required,
but the error received was unusual.
The error was:

Unexpected error

I have upgraded from iOS 5.0.1 to the latest 6.1 but the error still persists.

Capture mode shortcuts

In capture mode, add some buttons to top bar.

D inserts DEADLINE:
S SCHEDULED:

And a calendar that inserts the <date> at the current text insertion point.

Enable text file import from other apps

It would be nice to be able to capture notes in another text editing app (Drafts, for example) and then have the option to open those notes in MobileOrg capture.

Editor window size on iPhone 5

The editor window height appears smaller on the iPhone 5, both in the capture new note and in the edit body window. It seems the height is fixed to the previous screen sizes when the keyboard is shown. On the iPad it works OK.

I'm not sure if it's related but it's also difficult to scroll in these windows to see the bottom of the text when it goes outside the screen.

The following images show how the text is cut and there is a white band between it and the keyboard.

image
image-1

Oh, and thanks a lot for keeping MobileOrg alive!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.