Laker-Compendium icon indicating copy to clipboard operation
Laker-Compendium copied to clipboard

Any ideas about multiple issues?

Open ffranke opened this issue 14 years ago • 31 comments

How to solve the problem of multiple issues in one app. Anybody got some ideas?

ffranke avatar May 17 '11 10:05 ffranke

after asking on the baker.git area it seems that an html5 version of a library is to be build with links to book files (see magGames app on appstore) i am working on creating this at the moment and will commit once im done modifying it

nickeykhem avatar Jun 07 '11 04:06 nickeykhem

Second that! More importantly now can we make it work well with the iOS NewsStand frameworks!

sethrubenstein avatar Jun 07 '11 15:06 sethrubenstein

Just saw the keynote I got the iOS5 preview build and will play with it to test

Sent from my iPhone

On 7 Jun, 2011, at 11:08 PM, sethrubenstein [email protected] wrote:

Second that! More importantly now can we make it work well with the iOS NewsStand frameworks!

Reply to this email directly or view it on GitHub: https://github.com/ffranke/Laker-Compendium/issues/4#comment_1316421

nickeykhem avatar Jun 07 '11 17:06 nickeykhem

I need multiple issues in one app. Someone build it already?

themarper avatar Jun 14 '11 03:06 themarper

Ditto on that does anyone have an example we can play around with of multiple issues working?

sethrubenstein avatar Jun 24 '11 22:06 sethrubenstein

im working on a library viewer that does multiple issues (browsing covers, downloading, archiving, syncing with a rest server etc.) comparable with the adobe stuff. its progressing nicely now (after some issues with multi threading in core data).

ill check the newsstand stuff to see if i need to continue this.

BTermorshuizen avatar Jul 13 '11 08:07 BTermorshuizen

That sounds really awesome!!!

Do you do it in HTML or xCode? or both?

ffranke avatar Jul 13 '11 09:07 ffranke

all xcode - i can send you the project if you like?

BTermorshuizen avatar Jul 13 '11 09:07 BTermorshuizen

I'm a bit busy right now, so no stress. So it's all xcode. How do you define the multiple issues? xml?

ffranke avatar Jul 13 '11 09:07 ffranke

Wow@BTemorshuizen that sounds awesome. Can't wait to see it. Let us know if you need any help or testing or whatever.

sethrubenstein avatar Jul 13 '11 13:07 sethrubenstein

well, basically there is sync functionality in the app that does a rest call that returns a list of issues in a json format, syncs with local datastorage (core data) and asynchronously gets the covers for the issues and stores those on the file system. An issueviewcontroller (which handles the ui for each individual issue) is dynamically created for each issue and put in a scroll view (which increases its content size as necessary). This allows for springboard & swipe navigation. I've added a tabbar with a badge (to indicate the number of new issues), have a 'featured' section (not yet implemented) and an info section (just for help etc.) The actual download and unzipping of issues (or dossiers if you like) is still to be integrated, as well as archiving functionality and the viewer itself.

BTermorshuizen avatar Jul 13 '11 19:07 BTermorshuizen

For now it sounds great! Thanks for your efforts! Keep us updated!

ffranke avatar Jul 13 '11 22:07 ffranke

wow that sounds pretty awesome! would you like any of us to do some testing for you?

nickeykhem avatar Jul 14 '11 03:07 nickeykhem

ill just round it off a bit & integrate the reader (also important). After that, help is certainly appreciated!

BTermorshuizen avatar Jul 14 '11 10:07 BTermorshuizen

Awesome let us know - I'd be happy to test it tonight!! Hell start up a donate column so I can contribute ;) I've been trying multiple issues for a while now but not much success

Sent from my iPad

On 14 Jul, 2011, at 6:46 PM, BTermorshuizen [email protected] wrote:

ill just round it off a bit & integrate the reader (also important). After that, help is certainly appreciated!

Reply to this email directly or view it on GitHub: https://github.com/ffranke/Laker-Compendium/issues/4#issuecomment-1570607

nickeykhem avatar Jul 14 '11 10:07 nickeykhem

Ditto. Awesome work. Can't wait to see it and play with it. And absolutely lets get a paypal donate thing setup here because this is something weve all been looking for.

sethrubenstein avatar Jul 14 '11 12:07 sethrubenstein

That's why I love open-source! It's really thrilling to see, how people evolve the project!!

ffranke avatar Jul 14 '11 20:07 ffranke

Hi,

attached project status so far - couldnt spend too much time on integrating the reader so that's still in progress.

just to talk you through:

  • siteless magazine is the project name and it takes graphics and stuff from that site for testing purposes
  • minizip for unzipping
  • json for json parsing

Viewcontrollers:

  • FeaturedViewController - not being used now. Idea is that you can mark issues/dossiers as being 'featured' and that those show up here. The 'featured' feature is not yet included in the datamodel nor in the json format.
  • InfoViewController - place where you can put anything that help your readers understand how to use you app, direct them to your site etc by editing the corresponding xib
  • LibraryViewController - this is where the main stuff is happening. note that covers are referenced by url in the json string and resolved afterwards. It still needs some cleaning up - inserting a pic that is used when the cover could not be resolved. Besides the syncing functionality, it also takes care of the instantiation of issueviewcontroller objects and doing layout management
  • IssueViewController - this is the viewcontroller of a single issue. Design (xib) is still crap and will be updated. Also takes care of downloading/unzipping of a single issue and archiving (which removes the issue from filesystem)

its a mixed storage model:

  • issues are stored using core data (sqlite database). You can inspect the database using sqlite database browser. As you can see, the database is not included - it is created automatically if it does not exist.
  • cover graphics are stored on the filesystem -- the location of the cover on the filesystem is persisted in the database. It's a full path - i havent run into problems with it.
  • issues (dossiers) are stored on the filessystem. The 'archive' operation removes it, the 'download' downloads it, unzippes it and persists the reference to it in the database. the datamodel is in the xcdatamodel file. The classes Issue, Cover and Content are generated from that datamodel. It puzzles me why it doesnt generate the correct typing for the references (which explains some casting in the code), i just left it because then its easy to just regenerate the classes after a change of the model.

to check out what's happening, it's easy to just monitor the folder and database that sits in there. Starting over is also easy: just remove everything that sits in that folder (/'user'/Application Support/iPhone Simulator/4.3.2/Applications/'applicationid'/Documents/)

the json format is easy to understand, just make sure the issue numbers are unique. On my site, there's only one testissue included - (issue number 1). the others do not exist.

Underway

  • integration of a reader. The reader should include a ui that allows the user to return to the library.
  • refactoring of some methods (some are too long and windy)
  • contemplation: maybe it's better to get rid of the tab bar (featured and info is gone then): some first experiments showed that it's actually tricky to go over the tab bar. If the entire tab bar is gone, then a navigation controller would do the trick.
  • generalize the code/naming and include it in the github (after testing)

all feedback / issue reports is appreciated!

gr b.

BTermorshuizen avatar Jul 20 '11 09:07 BTermorshuizen

Sounds really good. Unfortunately I got no time at the moment to look further into. I try to take a look at it in the next week!

Thanks for all your work!

ffranke avatar Jul 20 '11 15:07 ffranke

no worries - kinda busy myself too

On 20 jul. 2011, at 17:02, ffranke [email protected] wrote:

Sounds really good. Unfortunately I got no time at the moment to look further into. I try to take a look at it in the next week!

Thanks for all your work!

Reply to this email directly or view it on GitHub: https://github.com/ffranke/Laker-Compendium/issues/4#issuecomment-1616080

BTermorshuizen avatar Jul 20 '11 17:07 BTermorshuizen

if you would like we can test your xcode for you, i could help with the UI design and reupload if you like

nickeykhem avatar Jul 28 '11 01:07 nickeykhem

hi, i almost integrated a reader and removed the tabbar. should be finished this wk. your help is greatly appreciated!

Bart Termorshuizen

On 28 jul. 2011, at 03:14, nike121 [email protected] wrote:

if you would like we can test your xcode for you, i could help with the UI design and reupload if you like

Reply to this email directly or view it on GitHub: https://github.com/ffranke/Laker-Compendium/issues/4#issuecomment-1669285

BTermorshuizen avatar Jul 28 '11 07:07 BTermorshuizen

BT....not sure if you are going to share your project, but I expect to be headed down a similar road. I basically want to set up a LibraryBookshelf that sits inside my magazine, similar to what you see in iBooks. The key is, it sits inside one window of my app. It gives you access to a wide variety of material that is either stored in the app, or in the cloud somewhere. Each item in the Library will have an icon. Click it, and a Reader window opens.

But can someone explain why multiple issues need to be STORED inside the magazine app instead of on the server?

dixiepnum avatar Jul 28 '11 14:07 dixiepnum

sounds similar - idea being though that you can actually download magazine issues so you can read them off-line. That's why they are stored on the device. In my solution, i also have an archive function, that basically removes the magazine off the device. Because you want to support proper off-line operation, a sync functionality is handy - to see if new issues are available that you do not yet have.

i will share the project

BTermorshuizen avatar Jul 28 '11 15:07 BTermorshuizen

Thanks! Sounds like an attempt to recreate zinio or goodreader, or some combination of both...

Sent from my iPad

On 2011-07-28, at 11:56 AM, [email protected] wrote:

sounds similar - idea being though that you can actually download magazine issues so you can read them off-line. That's why they are stored on the device. In my solution, i also have an archive function, that basically removes the magazine off the device. Because you want to support proper off-line operation, a sync functionality is handy - to see if new issues are available that you do not yet have.

i will share the project

Reply to this email directly or view it on GitHub: https://github.com/ffranke/Laker-Compendium/issues/4#issuecomment-1673774

dixiepnum avatar Jul 28 '11 17:07 dixiepnum

Is there anywhere we can get the code for this? Is there anyway we can see it in action.

tablazines avatar Jul 29 '11 16:07 tablazines

You can find the download link on http://www.siteless.org/?p=585

BTermorshuizen avatar Jul 30 '11 16:07 BTermorshuizen

why thank you kind sir...lol

tablazines avatar Jul 30 '11 18:07 tablazines

Wow. This is indeed interesting! Lucky me I checked. :D BTermorshuizen, are you doing the changes on Baker or on Laker? Because it would be great to have these changes on Baker so everybody can inherit from that and we don't for everything too much.

We are near the release of versione 3.0, integrating all the changes of Laker - well, what was there in the latest version - and adding smoother navigation and more. Could you check it out? :)

folletto avatar Aug 04 '11 20:08 folletto

I'm about to release a new magazine on Baker...so when will version 3 be out? I'm wondering if I should just wait.

tablazines avatar Aug 04 '11 21:08 tablazines