Page 1 of 1
QuoteFu Malazan Quotation Database Project
#1
Posted 02 February 2011 - 04:59 PM
This will be the official thread for information about QuoteFu. Please report all bugs, errors, and suggestions here; please post full quotes with tags and metadata and I will insert them into the database (at least until I add functionality for users to add quotes). Release information will be posted here as well.
If a mod could please sticky this topic I would appreciate it.
If a mod could please sticky this topic I would appreciate it.
We sail in and out of Time, then back again. There is only one ship, the captain says. All the ships we hail between the galaxies or suns are this ship.
#2
Posted 02 February 2011 - 04:59 PM
Reposted from : http://forum.malazan...ndpost&p=828929
Alright, so the first version of QuoteFu is done. I know my wife will be happy, at least.
I will say in advance that I know this isn't a wiki entry per se and I understand if it doesn't qualify for the contest. However, having a deadline really helped me complete something and I'm glad that I was able to get it finished.
Also, the program will require a few steps to work properly. I know this will be discouraging for some (most?) people, because you can't simply download the app and double-click it. There are three small drivers that need to be installed for the application to connect to the database. These drivers were made and signed by Microsoft and Oracle, two of the largest computing companies in the world, and I guarantee that they won't harm your computer (and neither will this program). At the end of this post, there will be instructions on how to install them and I am hosting the files for anyone here to download. (You can go to Microsoft;'s and Oracle's websites if you prefer, but I zipped them here for efficiency.) That said, I understand if the hassle is too much just to search for some quotes.
First, a few screenshots of the app running on my wife's laptop to entice you:
A basic description of the program: It was written in C#.NET; the Oracle 11g database it connects to is run on Fedora 14 from my house. I was able to reuse some of the logic in the program from something I had worked on previously, which saved me a lot of time. The program allows you to search through the database of quotes in two ways - by text or by tag. A text search will return exact matches first, and then partial matches (the algorithm searches for any quote that has the search words in that order, so "she wept" returns "she wept", then "she almost wept", etc.). Text search is case-insensitive. The second method is by tags, which are simply categories or labels for identifying subjects of interest in Malaz. Every character will have a tag; every warren; every empire and army. Ideally this will allow you to search for all quotes about Skinner, or all quotes about Skinner that have "the crippled god" in them - at the moment this functionality is slightly broken, because it returns quotes that match text searches OR tags, rather than text AND tags. This should be fixed soon.
To return a list of all quotes, check the All Books checkbox and hit Search without entering anything else.
After you search, a grid is populated with a list of quotes that match your search terms, and the list is ordered by book and then page number. Clicking on a quote shows you the full text and relevant info about the book (format, publisher, page number). Click Clear to start over.
It's a very simple app, doesn't need to be installed, and should run instantly after the correct drivers have been installed on your system.
As you can see in the screenshots above, there are not very many quotes in the database right now (maybe 10). A couple are fake ones I added just for testing (you'll know which ones they are...). However, adding quotes is the easy part. I will continue to add quotes during the day today, and it doesn't take that long to add one. The real potential of the application is in the thousands of quotes it can store (and hopefully will).
Some notes about future upgrades:
Short Term Goals
--Add functionality for ICE's books
--Allow users to add new quotes and new tags; update quotes and tags
--Add input validations
--Add functionality for text formatting
--Add current list of quotes I have
Long Term Goals
--Remove connection requirements - perhaps porting the entire app to ASP.NET and letting it run on a webpage, rather than a native app
--Create functionality that outputs an IP Board-formatted [quote] block with the whole quote and its information
--Update database functions
--Refine search algorithm
--Add functionality for Types (attribute of Tag - e.g., Character, City, Warren, etc)
The first thing I really want to add is the ability for individual users to request an account from me and then login and add quotes to the database. This shouldn't be too difficult, but it's a little bit sensitive because I need to configure access to the database for other users as well as implement some validations on the inputs for the quotes. In addition I hope to be fixing whatever bugs are found and making changes that people request. Most of this structure can be modified or rewritten. I encourage anyone with suggestions to post in the thread I have dedicated to this app (http://forum.malazan...showtopic=20727). Whether it's a visual design suggestion (the app is ugly, I know), a suggestion about what tags should be added to which quotes (or removed), a request for more info to be displayed (chapter?), please let me know so I can improve this thing.
Here are the install instructions...I am online and in the chat room right now, so if someone would like to be a guinea pig and try this for me, I would really appreciate it. I'll be available to troubleshoot all during the day.
INSTALLATION INSTRUCTIONS
Step 1: please download this zip file: [link removed temporarily]
It contains three drivers and the application - the Oracle Data Access Components (ODAC), the Microsoft Data Access Components (MDAC), the Microsoft ODBC for Oracle driver, and quotefu.exe. ODAC lets your computer talk to Oracle, MDAC talks to ODAC, and ODBC tells Windows how to make the connection. This is a 32-bit application, so if you are running a 64-bit operating system (Windows 7, Windows Vista), there is a workaround that must be done in order for the ODBC driver to work correctly.
Step 2: After you have downloaded the file, you should unzip the ODAC file to a local directory - I recommend creating a new folder at C:\oinstall, because it's easy to get to from the command line (you can also unzip the ODAC.zip file and then copy the unzipped contents to c:\oinstall). The ODAC must be installed from cmd.exe - I chose this version of the Oracle Call Interface (OCI) because it is the lightest - 50MB compared with 200MB for the GUI installer. I can provide the link to the GUI installer if people request it, but it also installs a few smaller components that you don't need to run QuoteFu. After the files are unzipped to C:\oinstall, go to Start -> Run -> and type "cmd" (without quotes). On Windows 7/Vista, you should right click this icon that appears and "Run as Administrator". Type this command to change to the unzipped directory: "cd c:\oinstall" (without quotes). The prompt should now say C:\oinstall>. Type the command "install.bat all c:\oracle odac". This will install the Oracle driver to C:\oracle (the best place to put this).
Step 3: This is probably the hardest step. After completing Step 2, go to Start -> right-click Computer -> Properties. On Windows XP this brings you to System Properties; on Windows 7 you will see a menu that displays info about your computer - on the left there is an "Advanced System Settings" option. Click it and it should open to the Advanced tab of the System Properties menu. On the Advanced tab of System Properties, click Environment Variables at the bottom. This will open another menu. Under the System Variables list, scroll till you see "Path"; select it and click Edit.
If you accidentally delete anything from the Path box, click Cancel to exit and then try again. Use the arrow key or the Home key to get to the beginning of the line. You should see something like %SYSTEMROOT%/system32 or something similar. You want to add the following line to the beginning of the string - "C:\oracle;C:\oracle\bin;" (without quotes). There should be no spaces and each directory path should end with a semicolon. Do not delete anything from the string that was already there. It should now read "C:\oracle;C:\oracle\bin;%SYSTEMROOT%\system32..." and on to the end. This tells Windows where to find the Oracle drivers. It will not harm your computer in anyway or change the way it functions. Click OK and exit the System Properties menu.
Step 4: Install odbc_net.msi. Double click this from anywhere and it will install the Microsoft ODBC for Oracle driver.
Step 5.: Install MDAC_type. Double click this from anywhere and it will install MDAC.
Step 6: Reboot your computer.
Step 7: IF YOU HAVE A 64-BIT OS (Windows 7, Vista): Open Windows Explorer and browse to C:\Windows\SYSWOW64\ and double click the odbca32.exe file. It will open the ODBC Data Source Administrator. Click the System DSN tab and click Add. You should see a list of drivers here. If you do not, you haven't installed the previous components properly (or you're accidentally running the odbca32.exe in C:\Windows\system32 instead). Scroll to Microsoft ODBC for Oracle and select it, then Finish. Enter "quotefu" in the Data Source Name and "quotefu" in the Description. Leave everything else blank and click OK. quotefu should now appear in the list of System DSNs. Click OK.
IF YOU HAVE A 32-BIT OS (Windows XP): Go to the Control Panel. Open Administrative Tools, then open Data Sources. You should now see the ODBC Data Source Administrator and should follow the rest of the instructions above.
Step 8: Right-click qutoefu.exe and go to Properties. Go to the Compatibility tab, check the box to run as a compatible version of Windows, and select Windows XP Service Pack 3. Click OK.
Step 9: Everything should now be set up properly. You can move quotefu.exe to anywhere (for example, the desktop) and double click it to run. Go to Screens -> Search Quotes to search.
The current user/password for public viewing is malazempire/malazempire. However, right now, the login credentials are actually hard-coded into the app, so you don't have to type anything at the Login screen - just click Login.
That's it. Please test QuoteFu and report any errors or crashes - but you know, be gentle. This isn't a professional application, and if you deliberately try to break it, it just might. I hope some of you enjoy this and find it useful, and I hope to keep upgrading it in the future...
Thanks.
Alright, so the first version of QuoteFu is done. I know my wife will be happy, at least.
I will say in advance that I know this isn't a wiki entry per se and I understand if it doesn't qualify for the contest. However, having a deadline really helped me complete something and I'm glad that I was able to get it finished.
Also, the program will require a few steps to work properly. I know this will be discouraging for some (most?) people, because you can't simply download the app and double-click it. There are three small drivers that need to be installed for the application to connect to the database. These drivers were made and signed by Microsoft and Oracle, two of the largest computing companies in the world, and I guarantee that they won't harm your computer (and neither will this program). At the end of this post, there will be instructions on how to install them and I am hosting the files for anyone here to download. (You can go to Microsoft;'s and Oracle's websites if you prefer, but I zipped them here for efficiency.) That said, I understand if the hassle is too much just to search for some quotes.
First, a few screenshots of the app running on my wife's laptop to entice you:
A basic description of the program: It was written in C#.NET; the Oracle 11g database it connects to is run on Fedora 14 from my house. I was able to reuse some of the logic in the program from something I had worked on previously, which saved me a lot of time. The program allows you to search through the database of quotes in two ways - by text or by tag. A text search will return exact matches first, and then partial matches (the algorithm searches for any quote that has the search words in that order, so "she wept" returns "she wept", then "she almost wept", etc.). Text search is case-insensitive. The second method is by tags, which are simply categories or labels for identifying subjects of interest in Malaz. Every character will have a tag; every warren; every empire and army. Ideally this will allow you to search for all quotes about Skinner, or all quotes about Skinner that have "the crippled god" in them - at the moment this functionality is slightly broken, because it returns quotes that match text searches OR tags, rather than text AND tags. This should be fixed soon.
To return a list of all quotes, check the All Books checkbox and hit Search without entering anything else.
After you search, a grid is populated with a list of quotes that match your search terms, and the list is ordered by book and then page number. Clicking on a quote shows you the full text and relevant info about the book (format, publisher, page number). Click Clear to start over.
It's a very simple app, doesn't need to be installed, and should run instantly after the correct drivers have been installed on your system.
As you can see in the screenshots above, there are not very many quotes in the database right now (maybe 10). A couple are fake ones I added just for testing (you'll know which ones they are...). However, adding quotes is the easy part. I will continue to add quotes during the day today, and it doesn't take that long to add one. The real potential of the application is in the thousands of quotes it can store (and hopefully will).
Some notes about future upgrades:
Short Term Goals
--Add functionality for ICE's books
--Allow users to add new quotes and new tags; update quotes and tags
--Add input validations
--Add functionality for text formatting
--Add current list of quotes I have
Long Term Goals
--Remove connection requirements - perhaps porting the entire app to ASP.NET and letting it run on a webpage, rather than a native app
--Create functionality that outputs an IP Board-formatted [quote] block with the whole quote and its information
--Update database functions
--Refine search algorithm
--Add functionality for Types (attribute of Tag - e.g., Character, City, Warren, etc)
The first thing I really want to add is the ability for individual users to request an account from me and then login and add quotes to the database. This shouldn't be too difficult, but it's a little bit sensitive because I need to configure access to the database for other users as well as implement some validations on the inputs for the quotes. In addition I hope to be fixing whatever bugs are found and making changes that people request. Most of this structure can be modified or rewritten. I encourage anyone with suggestions to post in the thread I have dedicated to this app (http://forum.malazan...showtopic=20727). Whether it's a visual design suggestion (the app is ugly, I know), a suggestion about what tags should be added to which quotes (or removed), a request for more info to be displayed (chapter?), please let me know so I can improve this thing.
Here are the install instructions...I am online and in the chat room right now, so if someone would like to be a guinea pig and try this for me, I would really appreciate it. I'll be available to troubleshoot all during the day.
INSTALLATION INSTRUCTIONS
Step 1: please download this zip file: [link removed temporarily]
It contains three drivers and the application - the Oracle Data Access Components (ODAC), the Microsoft Data Access Components (MDAC), the Microsoft ODBC for Oracle driver, and quotefu.exe. ODAC lets your computer talk to Oracle, MDAC talks to ODAC, and ODBC tells Windows how to make the connection. This is a 32-bit application, so if you are running a 64-bit operating system (Windows 7, Windows Vista), there is a workaround that must be done in order for the ODBC driver to work correctly.
Step 2: After you have downloaded the file, you should unzip the ODAC file to a local directory - I recommend creating a new folder at C:\oinstall, because it's easy to get to from the command line (you can also unzip the ODAC.zip file and then copy the unzipped contents to c:\oinstall). The ODAC must be installed from cmd.exe - I chose this version of the Oracle Call Interface (OCI) because it is the lightest - 50MB compared with 200MB for the GUI installer. I can provide the link to the GUI installer if people request it, but it also installs a few smaller components that you don't need to run QuoteFu. After the files are unzipped to C:\oinstall, go to Start -> Run -> and type "cmd" (without quotes). On Windows 7/Vista, you should right click this icon that appears and "Run as Administrator". Type this command to change to the unzipped directory: "cd c:\oinstall" (without quotes). The prompt should now say C:\oinstall>. Type the command "install.bat all c:\oracle odac". This will install the Oracle driver to C:\oracle (the best place to put this).
Step 3: This is probably the hardest step. After completing Step 2, go to Start -> right-click Computer -> Properties. On Windows XP this brings you to System Properties; on Windows 7 you will see a menu that displays info about your computer - on the left there is an "Advanced System Settings" option. Click it and it should open to the Advanced tab of the System Properties menu. On the Advanced tab of System Properties, click Environment Variables at the bottom. This will open another menu. Under the System Variables list, scroll till you see "Path"; select it and click Edit.
If you accidentally delete anything from the Path box, click Cancel to exit and then try again. Use the arrow key or the Home key to get to the beginning of the line. You should see something like %SYSTEMROOT%/system32 or something similar. You want to add the following line to the beginning of the string - "C:\oracle;C:\oracle\bin;" (without quotes). There should be no spaces and each directory path should end with a semicolon. Do not delete anything from the string that was already there. It should now read "C:\oracle;C:\oracle\bin;%SYSTEMROOT%\system32..." and on to the end. This tells Windows where to find the Oracle drivers. It will not harm your computer in anyway or change the way it functions. Click OK and exit the System Properties menu.
Step 4: Install odbc_net.msi. Double click this from anywhere and it will install the Microsoft ODBC for Oracle driver.
Step 5.: Install MDAC_type. Double click this from anywhere and it will install MDAC.
Step 6: Reboot your computer.
Step 7: IF YOU HAVE A 64-BIT OS (Windows 7, Vista): Open Windows Explorer and browse to C:\Windows\SYSWOW64\ and double click the odbca32.exe file. It will open the ODBC Data Source Administrator. Click the System DSN tab and click Add. You should see a list of drivers here. If you do not, you haven't installed the previous components properly (or you're accidentally running the odbca32.exe in C:\Windows\system32 instead). Scroll to Microsoft ODBC for Oracle and select it, then Finish. Enter "quotefu" in the Data Source Name and "quotefu" in the Description. Leave everything else blank and click OK. quotefu should now appear in the list of System DSNs. Click OK.
IF YOU HAVE A 32-BIT OS (Windows XP): Go to the Control Panel. Open Administrative Tools, then open Data Sources. You should now see the ODBC Data Source Administrator and should follow the rest of the instructions above.
Step 8: Right-click qutoefu.exe and go to Properties. Go to the Compatibility tab, check the box to run as a compatible version of Windows, and select Windows XP Service Pack 3. Click OK.
Step 9: Everything should now be set up properly. You can move quotefu.exe to anywhere (for example, the desktop) and double click it to run. Go to Screens -> Search Quotes to search.
The current user/password for public viewing is malazempire/malazempire. However, right now, the login credentials are actually hard-coded into the app, so you don't have to type anything at the Login screen - just click Login.
That's it. Please test QuoteFu and report any errors or crashes - but you know, be gentle. This isn't a professional application, and if you deliberately try to break it, it just might. I hope some of you enjoy this and find it useful, and I hope to keep upgrading it in the future...
Thanks.
This post has been edited by ansible: 04 February 2011 - 06:20 PM
We sail in and out of Time, then back again. There is only one ship, the captain says. All the ships we hail between the galaxies or suns are this ship.
#3
Posted 02 February 2011 - 04:59 PM
Reserved.
We sail in and out of Time, then back again. There is only one ship, the captain says. All the ships we hail between the galaxies or suns are this ship.
#4
Posted 03 February 2011 - 12:21 PM
I have a quite exhaustive list of quotes from one of the novellas on my old laptop, sitting on OneNote, tags and all. Since OneNote is the worst piece of software known to man however, I don't know if I'll ever actually be able to extract them
O xein', angellein Lakedaimoniois hoti têde; keimetha tois keinon rhémasi peithomenoi.
#5
Posted 03 February 2011 - 05:18 PM
caladanbrood, on 03 February 2011 - 12:21 PM, said:
I have a quite exhaustive list of quotes from one of the novellas on my old laptop, sitting on OneNote, tags and all. Since OneNote is the worst piece of software known to man however, I don't know if I'll ever actually be able to extract them
This would be awesome. If you can't open the file or get to the quotes, feel free to post or PM the file and I will take a crack at getting in there...
We sail in and out of Time, then back again. There is only one ship, the captain says. All the ships we hail between the galaxies or suns are this ship.
#6
Posted 04 February 2011 - 06:15 PM
awesome work ansible.. very impressed
"He was not a modest man. Contemplating suicide, he summoned a dragon". (Gothos' Folly)- Gothos
#7
Posted 04 February 2011 - 07:38 PM
This certainly isn't a knock on all your hard work, but I'm really curious as to why you chose to do this as a C# app. To me a web based front end would have been a better choice - no app to install, no 3rd party drivers to install, not bound to Windows OS... Based on the screenshots you posted, the UI could easily have been done as a web form.
Edit: Nevermind - noticed your long term goals, and the fact that this was code reuse from a previous project.
I still recommend porting to web ASAP - I think you'll get a lot more people using it this way.
Edit: Nevermind - noticed your long term goals, and the fact that this was code reuse from a previous project.
I still recommend porting to web ASAP - I think you'll get a lot more people using it this way.
This post has been edited by DurhangAddict: 04 February 2011 - 07:42 PM
#8
Posted 04 February 2011 - 08:23 PM
DurhangAddict, on 04 February 2011 - 07:38 PM, said:
This certainly isn't a knock on all your hard work, but I'm really curious as to why you chose to do this as a C# app. To me a web based front end would have been a better choice - no app to install, no 3rd party drivers to install, not bound to Windows OS... Based on the screenshots you posted, the UI could easily have been done as a web form.
Edit: Nevermind - noticed your long term goals, and the fact that this was code reuse from a previous project.
I still recommend porting to web ASAP - I think you'll get a lot more people using it this way.
Edit: Nevermind - noticed your long term goals, and the fact that this was code reuse from a previous project.
I still recommend porting to web ASAP - I think you'll get a lot more people using it this way.
You are exactly right, a web front-end is the way to go... I've worked as a programmer in the past but currently I deal exclusively with databases, so that also was a factor in getting the initial version completed, as my C# skills are decent but I don't have a lot of web experience.
Couldn't agree more about more people using a web interface.
Thanks for the comments, though, and any suggestions you have are welcomed.
We sail in and out of Time, then back again. There is only one ship, the captain says. All the ships we hail between the galaxies or suns are this ship.
#9
Posted 06 February 2011 - 01:53 PM
ansible - further to our previous conversations I am in the process of investigating moving the site so that we have more resources without it costing us a fortune!
If and when we do go ahead with this I think you could talk to Theo about your requirements and how this project of yours could be interfaced into the site.
I do think this would be a great resource for all readers and I'm keen to see you take it forward.
If and when we do go ahead with this I think you could talk to Theo about your requirements and how this project of yours could be interfaced into the site.
I do think this would be a great resource for all readers and I'm keen to see you take it forward.
"He was not a modest man. Contemplating suicide, he summoned a dragon". (Gothos' Folly)- Gothos
Share this topic:
Page 1 of 1