You need to be logged in to post in the forums. If you do not have an account, please sign up first.

Go to last post

5. May 2012, 21:28:39

epilos

Posts: 2044

bookmarks database

hello

for many of us, internet is a research tool, where we save and use a big amount of bookmarks

thus, I would like to suggest that opera would store bookrmarks in a database format, that will be secure and powerful

it would also allow us to search within it for specific domains, text, and other info

also, a webpage screenshot saved for each bookmark, would help alot too

thanks!
Opera 11 on WinXP Pro SP3 • AMD hexacore 3.2Ghz with 4Gb RAM

6. May 2012, 09:17:04

ianp5a

Posts: 571

Can you detail the exact benefits you require? If they are popular, they can be prioritised. But the developers need exact details not general statements. And perhaps there are solutions today.

6. May 2012, 13:54:53

epilos

Posts: 2044

Originally posted by ianp5a:

Can you detail the exact benefits you require? If they are popular, they can be prioritised. But the developers need exact details not general statements. And perhaps there are solutions today.



1) security against data loss, that database like MySQL can offer
2) storing and handling large amount of data, that database like MySQL can offer
3) high speed data handling, that database like MySQL can offer
4) versatile and powerful data handling (eg, custom reports, custom searches, custom archiving, etc), that database like MySQL can offer

thanks
Opera 11 on WinXP Pro SP3 • AMD hexacore 3.2Ghz with 4Gb RAM

6. May 2012, 15:44:02

serious

Lab mouse and likes it!

Posts: 5297

Lol, MySQL ...
1) for the purpose we are talking here a NoSQL approach is way better suited, as you can directly serialize the objects into the db and also don't have any references and so on to other tables -> no need for the "full db" overhead.
2) MySQL is a standalone server, not integrated with the software
3) Opera already uses SQLite to handle var. stuff (like WebSQL or however that standard is called)

Also it is way easier and faster to implement any of the features you request in memory (read the bookmarks on startup, write only on changes), There are very efficient data structures for sorting/filtering stuff and modern language extensions like LINQ make it freakishly simple to write the filtering code that is then parsed and optimized by the compiler. If you don't have 100MB or 100000[1] bookmarks and like 256MB of RAM you don't really get any benefit from not keeping everything in memory



[1] let's assume a bookmark has 1KB to be generous, after all it's a handful of strings and pointers, so the guess is probably way off to the high side ... lets make a list:
- 2 datetime -> 2x64bit, just to be y2038-safe
- 2 booleans -> 1 - 2 byte, depending on how they are implemented
- 5 pointers -> 5x64bit -> 40 byte
- Name, Nickname, Address and Description Strings:
- Name -> roughly 100 byte (so 50 - 100 chars)
- Nickname -> roughly 10 byte, but most of my bookmarks don't have any
- Address -> roughly 100 byte
- Description -> lets throw in another 100, but none of my bookmarks has one

so we get: 16 + 2 + 40 + 100 + 10 + 100 + 100 -> 368 byte ...

for folders we get:
- 4 pointers (parent, and 3 strings)
- Name: 100 byte
- Nickname: 10 byte
- Description 100 byte
so we get: 246 byte

or we have each folder contain a list of subentries, which shifts the "parent" pointer to a list of pointers in the parent node, which if it is a fully linked list is roughly thrice as big in the worst case, but still not alarming ... also you could use a Array-based list which is way cheaper on memory, but the "parent" link approach is easiest to calc.
All my posts only represent my own opinions.
[ Tweedo Monitor - Deluxe Website & Service Monitoring ]

21. June 2012, 04:52:09

ramtodatry

Posts: 20

I was just going to post a similar suggestion; but for different reasons.

I have thousands of bookmarks; and they get totally messed when Opera crashes; especially v12.00 - which is quite frequent.

Also when I log in from multiple computers the Opera synchronize function also has a tendency to muck up this file sometimes, with a lot of duplicates. I have not picked up a pattern yet.

For awhile, I have had a batch file that saves the last 5 versions of my bookmark.adr file. (I do the same for the sessions and speeddial).

Also whenever I remember; when I make a change or re-organize my bookmarks, I try to remember to save a backup copy of the file.

But this is not the solution. There has to be a more robust way. How it is elegantly and robustly implemented is the issue; and how soon?

21. June 2012, 21:34:36

epilos

Posts: 2044

Originally posted by ramtodatry:

For awhile, I have had a batch file that saves the last 5 versions of my bookmark.adr file. (I do the same for the sessions and speeddial).




please share this batch file

thanks
Opera 11 on WinXP Pro SP3 • AMD hexacore 3.2Ghz with 4Gb RAM

22. June 2012, 06:55:53

soultouch

Posts: 5

Please add TAGs to the bookmark feature., in addition to folders i just found that firefox does this and it is sensational. After you enter a Tag once, it appears with a CHECK box. and typing the first letter becomes progressive search. So if i bookmark something like Youtube and have already created
youtube once before, every tag that starts with a y shows up. it would be nice if the drop down list expanded more.

I love LABELS in gmail and TAGs and Categories in Wordpress. Infact, you could supply some standard Tag library by subject or category and this would make organizing even easier.
Keep up the Good work. OPERA is my default browser and i often have 50 to 100 tabs open at a time. Opera seems to consume more RAM than Firefox, but is zippier, because i notice that FF sucks more cpu more often. And CHrome, all those separate threads it opens in processes simply suck the ram big time.

30. June 2012, 18:06:37

tags for bookmarks are definitely 21st cenutry.

Must have!

1. July 2012, 12:31:57

ramtodatry

Posts: 20

Here is the batch file that saves the six previous versions of the Bookmarks, Speeddial and Sessions.

I have located the batch file in my windows Start Menu > Programs > Startup folder (for Windows XP). For other versions of Windows or Linux please locate this batch file in the appropriate folder. It runs every time I start my notebook, or can be run on an as needed basis.

You will not have six versions on day one, but after 6 boot-ups or 6 executions of this file (or if you manually run this batch file), you will have the 6 previous versions of the Bookmarks, Speeddial and Sessions. You can recover back to an older version (of anyone of them that is messed up) by copying (not renaming) an older version to the current version of the file. Make a copy of the older version, delete current version(or rename), and rename the copy to the name of the current version.

In addition I also have a "bookmarks.bak.adr" file (in the personal Opera folder - C:\Documents and Settings\Administrator\Application Data\Opera\Opera) that I export my bookmarks to every time I make changes to my bookmarks. This is done from the bookmarks page - click on the "File" drop down, select "Export Opera Bookmarks..." and select the "bookmarks.bak.adr" file.

Good luck. This has saved my a** several times.

Opera.bat
----Start of file--- (Do not include this line in your batch file)
CD C:\Documents and Settings\Administrator\Application Data\Opera\Opera\sessions
dir
copy autosave4.win autosave5.win
copy autosave3.win autosave4.win
copy autosave2.win autosave3.win
copy autosave1.win autosave2.win
copy autosave0.win autosave1.win
copy autosave.win autosave0.win

CD C:\Documents and Settings\Administrator\Application Data\Opera\Opera
dir book*.adr
copy bookmarks4.adr bookmarks5.adr
copy bookmarks3.adr bookmarks4.adr
copy bookmarks2.adr bookmarks3.adr
copy bookmarks1.adr bookmarks2.adr
copy bookmarks0.adr bookmarks1.adr
copy bookmarks.adr bookmarks0.adr

dir speed*.ini
copy speeddial4.ini speeddial5.ini
copy speeddial3.ini speeddial4.ini
copy speeddial2.ini speeddial3.ini
copy speeddial1.ini speeddial2.ini
copy speeddial0.ini speeddial1.ini
copy speeddial.ini speeddial0.ini
----EOF---(Do not include this line in your batch file)

1. July 2012, 18:36:32 (edited)

epilos

Posts: 2044

mm, it doesnt seem to work:

CD E:\portable\Opera\profile\sessions
dir
copy autosave4.win autosave5.win
copy autosave3.win autosave4.win
copy autosave2.win autosave3.win
copy autosave1.win autosave2.win
copy autosave0.win autosave1.win
copy autosave.win autosave0.win

CD E:\portable\Opera\profile
dir book*.adr
copy bookmarks4.adr bookmarks5.adr
copy bookmarks3.adr bookmarks4.adr
copy bookmarks2.adr bookmarks3.adr
copy bookmarks1.adr bookmarks2.adr
copy bookmarks0.adr bookmarks1.adr
copy bookmarks.adr bookmarks0.adr

dir speed*.ini
copy speeddial4.ini speeddial5.ini
copy speeddial3.ini speeddial4.ini
copy speeddial2.ini speeddial3.ini
copy speeddial1.ini speeddial2.ini
copy speeddial0.ini speeddial1.ini
copy speeddial.ini speeddial0.ini


shouldnt it create a copy of bookmarks.adr as bookmarks0.adr, inside the same folder? it doesnt :/
Opera 11 on WinXP Pro SP3 • AMD hexacore 3.2Ghz with 4Gb RAM

2. July 2012, 02:31:05

ramtodatry

Posts: 20

Where have you located the batch file?

If it is not in the User's startup folder (as I notice that you probably have it on a removable thumb drive - portable folder on E:\portable), then you should manually execute the batch file as needed - either before starting Opera, or immediately upon exit.

The first time, it will create the files with the *0.* The second time "0" gets moved to "1" and so on, until you have a set of six files. Obviously, you can edit the file as required - either fewer or more number of backups.

If you have the Startup dialog enabled in Tools > Preferences > General > Startup, then you will notice that Opera recognizes the different saved sessions and allows you to select the session to start Opera with, or by default start with the last session.

Please note that we normally do not make changes to Speeddial as often as Bookmarks, and sessions change all the time - depending on what tabs you have open when you exit. As a result, it is possible that one or more, or even all 6 copies of speedial*.ini end up being the same.

Good luck.

2. July 2012, 18:33:07

epilos

Posts: 2044

I run it manually and I dont see any effect

I get errors like "The system cannot find the file specified."

:/

do I have to place the batch file inside the opera dir?

Opera 11 on WinXP Pro SP3 • AMD hexacore 3.2Ghz with 4Gb RAM

2. July 2012, 19:22:39 (edited)

serious

Lab mouse and likes it!

Posts: 5297

ah, now I get it ... the problem is you cannot change drives like that in the cmd ... you actually have to insert something like "E:" before the first CD (so you get this:)
E:
CD E:\portable\Opera\profile\sessions


or you do something sand and use something like this:

SET OperaPath=E:\portable\Opera\profile

REM Sessions
copy %OperaPath%\sessions\autosave4.win %OperaPath%\sessions\autosave5.win
[and so on]

REM Bookmarks
copy %OperaPath%\bookmarks4.adr %OperaPath%\bookmarks5.adr
[and so on]

REM Speeddial
copy %OperaPath%\speeddial4.ini %OperaPath%\speeddial5.ini
[and so on]

but no guarantees that works like this , just wrote it from the top of my head winkworks (I worried about the variable retrieval)

advantage would be that using absolute paths should be is (tried now) safe, not matter what drive.
All my posts only represent my own opinions.
[ Tweedo Monitor - Deluxe Website & Service Monitoring ]

3. July 2012, 16:00:42

epilos

Posts: 2044

it works great, thanks! smile
Opera 11 on WinXP Pro SP3 • AMD hexacore 3.2Ghz with 4Gb RAM

3. July 2012, 17:02:03

serious

Lab mouse and likes it!

Posts: 5297

cheers cool
All my posts only represent my own opinions.
[ Tweedo Monitor - Deluxe Website & Service Monitoring ]

Forums » Opera for Windows/Mac/Linux » Desktop wish-list