Welcome, Guest
General discussion about ComicRack

TOPIC: A New Start

A New Start 4 weeks 2 days ago #48320

  • krandor
  • krandor's Avatar
  • Offline
  • Gold Boarder
  • Posts: 204
  • Thank you received: 21
  • Karma: 4
joaohkfaria wrote:
Yeah, I'll dive into that later. This will be a future feature and I'm not worried about this right now. The goal is create the best Comic Book app and then we think a way to make the app sustainable! =D

good plan. Hey - we wouldn't be here making comments and suggestions if we were not interested in the project even if some suggestions are down the road a bit.

My suggestion to start would be to it be able to import .cbz files and read their imbedded metadata and use that and be able to read the comicrack xml database. That way, while you are still adding features we'd have an option to do initial scaping, taggin, etc. in CR and then save the data to the cbz which your program could then read. It will take a while to replicate functionality of CVS, Duplicate Manager, Data Manager, etc. so still being to use that tools in the short term would help a lot.
The administrator has disabled public write access.

A New Start 4 weeks 2 days ago #48321

  • perezmu
  • perezmu's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 1114
  • Thank you received: 64
  • Karma: 51
krandor wrote:
joaohkfaria wrote:
@NoDruid

What you mean about an "embedded comics server" without specific apps or syncing?

I think what he is talking about is that if I have as server at home running and have your app currently running I can then connect to that server with a generic web browser and read comics that way. So no comics or client are on the client but it is simply accessing the server.

Exactly what I meant... You just point your browser (any browser) to the IP of the computer using the app, and voila! there is your collection!

ubooquity
tenma
comicstreamer

I understand your idea to monetize your project... but this comunity is largely free and the implications of getting profit from copyrighted material are dangerous. So, I really advise you to look at the software I point up there, and take that route...

I think what is really missing by everyone is the integration of such servers with a robust database manager like CR or whatever you code... Other approaches (like syncinc,apps...) are in my opinion not needed not much missed

Cheers! :laugh:
The administrator has disabled public write access.

A New Start 4 weeks 2 days ago #48322

  • Xelloss
  • Xelloss's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 455
  • Thank you received: 117
  • Karma: 24
krandor wrote:
joaohkfaria wrote:
Yeah, I'll dive into that later. This will be a future feature and I'm not worried about this right now. The goal is create the best Comic Book app and then we think a way to make the app sustainable! =D

good plan. Hey - we wouldn't be here making comments and suggestions if we were not interested in the project even if some suggestions are down the road a bit.

My suggestion to start would be to it be able to import .cbz files and read their imbedded metadata and use that and be able to read the comicrack xml database. That way, while you are still adding features we'd have an option to do initial scaping, taggin, etc. in CR and then save the data to the cbz which your program could then read. It will take a while to replicate functionality of CVS, Duplicate Manager, Data Manager, etc. so still being to use that tools in the short term would help a lot.

Yeah, I think that that is totally the way to make it work... not having to use a program from 0, but using in parallel both programs using what we can from each one till the new one is ready enough to totally migrate :)
Last Edit: 4 weeks 2 days ago by Xelloss.
The administrator has disabled public write access.

A New Start 4 weeks 2 days ago #48324

  • boshuda
  • boshuda's Avatar
  • Offline
  • Gold Boarder
  • Posts: 295
  • Thank you received: 64
  • Karma: 8
Don't forget, there's a lot more to your comic collection than what's in the cbz files. Another approach to keeping a new app up to date would be to tell Xelloss what you want him to script up, so he can write a sync script ;)
The administrator has disabled public write access.

A New Start 4 weeks 2 days ago #48325

  • krandor
  • krandor's Avatar
  • Offline
  • Gold Boarder
  • Posts: 204
  • Thank you received: 21
  • Karma: 4
boshuda wrote:
Don't forget, there's a lot more to your comic collection than what's in the cbz files. Another approach to keeping a new app up to date would be to tell Xelloss what you want him to script up, so he can write a sync script ;)

I know which is why I added also read in the comicrack DB files as well.
The administrator has disabled public write access.

A New Start 4 weeks 2 days ago #48326

  • Xelloss
  • Xelloss's Avatar
  • Offline
  • Platinum Boarder
  • Posts: 455
  • Thank you received: 117
  • Karma: 24
Indeed, I have been working for a while now in a script that store EVERYTHING in the CR Database of a comic in the comic file XD (a LOAD/SAVE solution that store the data coded in the notes or a secondary file inside the cbz file XD)

That would only leave smartlists and lists outside XD
Last Edit: 4 weeks 2 days ago by Xelloss.
The administrator has disabled public write access.

A New Start 3 days 4 hours ago #48587

  • Bart274
  • Bart274's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 2
  • Karma: 0
Is there any progress with this project?

@Xelloss: how far are you with storing everything in the cbz files?
The administrator has disabled public write access.

A New Start 3 days ago #48589

  • boshuda
  • boshuda's Avatar
  • Offline
  • Gold Boarder
  • Posts: 295
  • Thank you received: 64
  • Karma: 8
Bart274 wrote:
Is there any progress with this project?

@Xelloss: how far are you with storing everything in the cbz files?

TL;DR - I'm making progress with a version that should be able to run on Windows, Linux, & Mac with Android and iOS ports hopefully not too far behind. Everything is still too early to have any realistic type of time-frame.

Chime in and let me know if you use Windows, Mac, or Linux and if writing it exclusively for Windows would be okay. Like, if you're a Mac user and running a modern C# .net app in an emulator/virtual machine is perfectly acceptable. Or if the overwhelming majority of people use Windows. The front-end development in that case would probably be much faster. And I could just release an API to allow people more comfortable with Mac/Linux front-end development to make much faster progress than I ever could. I'll assume enough people are on both Android and iOS to not favor one or the other, once it gets to that point.

Also, if you're a database professional (I am not) and would like to help me normalize and possibly design some good testing methodology for the database I would appreciate the help.

Finally, what kind of databases would people cry if they couldn't use? Like, are a lot of people running MySql databases somewhere, and they really, really want the database to live there? I'm currently developing against SQLite, but enough of that portion is abstracted away by QT5 that it should relatively straight-forward to port it to MySql (less so to MS SQL Server). The advantage to SQLite is that it's a file. So it removes the need for a separate database server install for users who don't already have a database. Backup also consists of just backing up that file, rather than whatever it is people do to backup proper databases.

I dunno how the original poster is doing, but my version has a pretty good database that seems as normalized as it should be and seems to hold up well with test data. I have a halfway decent database-access prototype running in C#, but it doesn't like to play as nicely with the database engine I selected as it does with other database engines (sqLite versus MS SQL Server). So, when I got to a point in it where I would need to reevaluate the database access portion I decided to cut over to QT5. The reason being the C# version (what ComicRack is written in) would really only run on Windows, but switching to QT5 would allow me to also build for Linux & Mac, and also for Android and iOS. All of that from a shared codebase with (hopefully) only a few items that would need to be platform-specific. There are also some promising web-server 'plugins' for QT5 that should allow for the creation of a web-based content server with relatively minimal effort once the database access portion is written. And there are some nice bits to facilitate the creation of a non-web content server, which might allow for a richer experience on various devices, but that's way down the line. And finally, there's a scripting engine baked into QT5 that should make creation of scripts (like ComicVine Scraper, library organizer, duplicates manager, etc) relatively straightforward. However, development is slower than in MS VS C# for a number of reasons.

QT5 does offer a lot of promise, but it's far from perfect and with much of the code needing to be written in C++ it's slower going than other languages might be. I'm investigating doing some of it in Python since QT5 does support that language and there are hooks back into QT5 from other projects. The gui stuff, for example, might be okay to write in Python, then port stuff that's under-performing (if any) back to C++. The scripts for CR are written in Python, so I would want to ensure that scripts could be written in Python again anyway.

Once it's done enough, there will be an API available to allow other people to write code to access your database easily. I may even release a version of that with just enough of a front-end to allow people to port their ComicRack library into my new database, in order to have enough of a project to recruit help.

For the QT5 version's progress, I'm learning QT5 as I go, but I currently have the database where I can access and modify it. It's not yet fully fleshed out to do al of the tables, or even create them, but before going down that road I wanted to prototype working with the database and pulling it all the way to a front-end before that. The prototype code to separate the layers is promising. It truly keeps the layers separate and applications using the API don't need to know anything about the database that lives under it (except where it lives so the user can decide where they want it, although as I think about it, it's probably possible and reasonable to include simple utilities to configure that in the API). Front end test development is much slower, but once I get some stuff figured out further development should move along much faster. As I write out my progress and honestly assess where I stand, I'm actually becoming tempted to just do the database-access API in QT5, release that API, then utilize it in a C# app for Windows. That would at least get us part of the way to where we are today, but open-source. :unsure:
The administrator has disabled public write access.

A New Start 2 days 23 hours ago #48590

  • batmanraid
  • batmanraid's Avatar
  • Offline
  • Fresh Boarder
  • Posts: 7
  • Thank you received: 3
  • Karma: 0
Hi,

I'm a Mac user and the only reason why i have a Windows virtual machine is Comicrack.

Not long ago I opened a topic asking the rest of the users to support the Mac version and it was quite successful. So i think is a very good idea.
The administrator has disabled public write access.

A New Start 2 days 23 hours ago #48591

  • krandor
  • krandor's Avatar
  • Offline
  • Gold Boarder
  • Posts: 204
  • Thank you received: 21
  • Karma: 4
For myself I have no issues with a windows only version.

As for the database, I'd prefer mysql mainly because while I run CR on my desktop machine, I keep the database on my NAS so I have raid fault tolerance and all that. My NAS (synology) has a MySQL server you can install which is where I keep my CR DB. So on that note, I would make sure you have support for the DB being on a different system then CR itself. I would also sugggest going a step furthur then CR did and also keep smartlists, blacklist, etc. information in the SQL DB as well (but maybe in different tables) so you could do a fresh install of your program, point it to the SQL DB and have all the information there.
The administrator has disabled public write access.
Time to create page: 0.216 seconds

Who's Online

We have 275 guests and 5 members online