Jump to content

ThreadStarter: Books


batarjal

Recommended Posts

Posted

ThreadStarter: Books allows users to easily create topics about books and fill them with content automatically. Posted content will be shown in the first post of the topic and can be used in widgets.

tsbook.thumb.png.0cc8d16693b98daa9cea608f9fd008dc.png

Features

  • Users can add books to topics. After attaching the book, which can be done easily using a search with auto complete or by using the ISBN, the thread will show various information about the chosen book above the post.
  • The topic will show the book cover, similar books, content description and much more.
  • Amazon buy buttons with affiliate tags can be shown for books.
  • Discussed books can be shown in adjustable widgets which allow random order, recently posted, most discussed and much more.
  • Posting content can be restricted to certain forums.
  • Book boards can show books with the cover art above the topic list.
  • Access rights to edit and post content.

Demo

 

Buy it now

  • 2 weeks later...
Posted

Hi,

How easy/ complicated is it for members to add a book?

Also if they add a new book, will the buy button automatically have my affiliate ID added to it?

Thanks

Posted (edited)

They can just search a book and click it when creating a topic. All data will be added to the post automatically.

The affiliate ID can be given in the ACP for all buy links.

 

Edited by batarjal
Posted

I have added a key now but when testing by trying to add this book it cannot find it

https://www.amazon.co.uk/League-Their-Own-Ladies-Football/dp/1857270290/ref=sr_1_2?ie=UTF8&qid=1543245205&sr=8-2&keywords=dick+kerr

But on google books api it finds it straight away:

https://www.google.com/search?tbm=bks&q=In+a+League+of+Their+Own!%3A+The+Dick%2C+Kerr+Ladies+Football+Club

So I guess I have chosen the wrong key

Posted (edited)

I can't find it either using the API, I'll check what goes wrong for the next update. Till then you can just add it using the ISBN 1782221832 (Taken from Amazon) and ignoring the empty search result.

Sorry, 1782221832 is the correct ISBN

Edited by batarjal
Posted

Hi,

Just added an entry.

Is this is how it is supposed to look as it appears different to yours

https://www.walkingfootball.com/forums/topic/3159-when-footballers-were-skint/

Posted (edited)

goodreads is not allowed to give all information using the API, this book seems to be restricted.

Most popular books work, I tested with german and english bestseller lists and almost all had cover and description text available.
Old books or smaller puplications might be more problematic, rating and buy link should always work though. Sometimes it helps to pick another search result if more then one are shown for the same book.

Edited by batarjal
Posted

Not easily - Amazon does not allow to use affiliate links for search results and I do not get the direct link for suggested books from the goodreads API. I'll think of a different solution for a future version.

Posted

Hi,

I have just noticed we have a template error showing on the website. Scroll down this page to view

https://www.walkingfootball.com/forums/forum/128-new-members-welcome-introduction-forum/

[[Template threadstarterbook/front/threadstarterbook/threadStarterBookBoardIcon is throwing an error. This theme may be out of date. Run the support tool in the AdminCP to restore the default theme.]]

BTW it happens in the default theme too

Posted

There are lots and lots of errors actually having just checked.

For example

SELECT * FROM `threadstarterbook_startable_post` AS `sp`  LEFT JOIN `threadstarterbook_startable` AS `s` ON sp.startableID=s.startableID WHERE postID = IS NULL
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IS NULL' at line 1

BACKTRACE

#0 //public_html/system/Db/Select.php(378): IPS\_Db->preparedQuery('/*threadstarter...', Array, true)
#1 //public_html/system/Db/Select.php(580): IPS\Db\_Select->runQuery()
#2 [internal function]: IPS\Db\_Select->count()
#3 //public_html/applications/threadstarterbook/sources/libraries/ThreadStarterProvider.php(42): count(Object(IPS\Db\Select))
#4 //public_html/system/Theme/Theme.php(824) : eval()'d code(411): threadstarterbook\ThreadStarterProvider::getStartable(NULL)
#5 //public_html/system/Theme/SandboxedTemplate.php(58): IPS\Theme\class_threadstarterbook_front_threadstarterbook->threadStarterBookBoardIcon(Object(IPS\forums\Topic))
#6 /5/public_html/system/Theme/Theme.php(824) : eval()'d code(4431): IPS\Theme\_SandboxedTemplate->__call('threadStarterBo...', Array)
#7 //public_html/system/Theme/SandboxedTemplate.php(58): IPS\Theme\class_forums_front_forums->topicRow(Object(IPS\Helpers\Table\Content), Array, Array)
#8 //public_html/system/Theme/Theme.php(824) : eval()'d code(1549): IPS\Theme\_SandboxedTemplate->__call('topicRow', Array)
#9 //public_html/system/Theme/SandboxedTemplate.php(58): IPS\Theme\class_forums_front_forums->forumTable(Object(IPS\Helpers\Table\Content), Array, Array, NULL, true)
#10 [internal function]: IPS\Theme\_SandboxedTemplate->__call('forumTable', Array)
#11/public_html/system/Helpers/Table/Table.php(548): call_user_func(Array, Object(IPS\Helpers\Table\Content), Array, Array, NULL, true)
#12 /public_html/applications/forums/modules/front/forums/forums.php(409): IPS\Helpers\Table\_Table->__toString()
#13 /public_html/init.php(460) : eval()'d code(19): IPS\forums\modules\front\forums\_forums->_forum(Object(IPS\forums\Forum))
#14 /public_html/applications/forums/modules/front/forums/forums.php(36): IPS\forums\modules\front\forums\hook977->_forum(Object(IPS\forums\Forum))
#15 /public_html/system/Dispatcher/Controller.php(96): IPS\forums\modules\front\forums\_forums->manage()
#16 [internal function]: IPS\Dispatcher\_Controller->execute()
#17 /public_html/init.php(460) : eval()'d code(14): call_user_func_array('parent::execute', Array)
#18 /public_html/system/Dispatcher/Dispatcher.php(146): IPS\Dispatcher\hook26->execute()
#19 /public_html/index.php(13): IPS\_Dispatcher->run()
#20 {main}

  • 4 weeks later...
Posted (edited)

One question.

I assume the information passed to the topic is in English.  I wonder, can it be translated manually by the topic starter ?

 

Oh and a final question ? do I have to accept all the info for the book ? or I can disregard some inforamtion like ratings, for example ? so it does not appear.

Edited by gabs007
Posted

The language depends on the book you add - If you add a German book the text will also be German if available. You can test at goodreads if the content is available in your language: Just visit https://www.goodreads.com/ and try 'Search Books'
If you can find a book there it will very likely also work in the plugin - Some data is not available in the plugin due to goodreads copyright issues though, but most of the time it works and if it doesn't it's usually just the cover missing.

Manually editing content is not possible right now, I might add custom image and text upload for all ThreadStarter plugins in a future version though.
 

For hiding or changing the layout you can edit the template using Admin > Themes > Edit HTML and CSS. To get rid of the rating just remove the line starting with '{{if isset($data['averageRating'])}}' in the threadStarterBookBig template.

  • 2 weeks later...
Posted

Hi,

Noticed we are still getting a lot of these type of errors being reported

SELECT * FROM `threadstartertmdb_startable_post` AS `sp`  LEFT JOIN `threadstartertmdb_startable` AS `s` ON sp.startableID=s.startableID WHERE postID = IS NULL
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IS NULL' at line 1

getting them for music and mdb - maybe your fix only worked for books?

Posted

The new version is now added to the marketplace:

Quote
  • It is now possible to change the position of the ThreadStarter bar
  • Links in the description text are now clickable in the preview
  • Fixed issue with special characters in search requests
  • Added easy way to add books by ISBN

This fixes should reduce the amount of 'no data available for this book' dramatically.

  • 2 weeks later...
Posted (edited)

It's great to have the ability to start a topic about a particular book but there are times when it would be great to be able to reference a particular book in a forum conversation.  

For example if a forum poster wrote the following sentence below and embedded a book title "Battle of Hastings". 

toolbar.thumb.jpg.717b6f63d007917bc10c93d49f36dea4.jpg

Forum poster clicks on the "new" book icon in the toolbar as shown above.  A book choosing dialog box appears.  After appropriate book is chosen the dialog box disappears and the book title with underlying link gets added where the cursor lies and the forum poster continues writing.

In Battle of Hastings, the author states on page 22, "This battle is the most defining event in English History".  Anyone reading the forum posting later hovers their mouse pointer over the book title and a popup dialog box appears with more information about the book.

screen.thumb.jpg.be72383ff5357d72c304d6c7937dc2bb.jpg

When done reviewing the book they exit the dialog box and return back to the forum posting.

The reader can better determine how reliable the quoted text is based on reader reviews on Amazon.  It also can expose the membership to additional books on a particular subject matter being discussed without having to create an entirely new ThreadStarter: Books created topic.  Doing so may end up fragmenting the conversation and the topic ends up dying prematurely. 

This idea is inspired by Wikimedia.  

The more book links to Amazon the more chances a member will buy a book or other merchandise which will earn the website additional affiliate commisions.

 

Edited by Christopher Anderson
Posted

It would be nice to have the ability to toggle the "More" button off or on.

more-buy.png.3c5ae520c8c3275e2fef82f36228eda9.png

If a forum owner wants to try to garner Amazon Affiliate commissions they will probably want to toggle the "More" button off.

The "More" button redirects to the goodreads.com website.  Anyone clicking on links to purchase a book on this site forgoes getting commissions from Amazon or any other stores. The website also shows whether or not the book is available at nearby libraries.  It is highly unlikely a member will backtrack to the forum and purchase the book via the "Buy" button.

 

Posted (edited)

The link shown below probably should be updated to reflect the inclusion of both APIs in your program.

API.JPG.11832a35b096dbfc0cc7d797a37b9c87.JPG

This product uses both goodreads and google books APIs.

 

The goodreads link currently goes to goodreads.com.  Shouldn't the goodreads link direct a member to the API page instead?

https://www.goodreads.com/api

The same idea for the google books API:

https://developers.google.com/books/

Edited by Christopher Anderson
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...