Enabling search for my site that uses rss - search

my site is here
The main flash app uses rss (or xml) to display data. I'm wondering how I can add search functionality to it. One idea is to create multiple custom rss for each filter and search query, but I thought that it would be a nightmare to add more data later on. So I'm wondering if there's another way to do it?
RSS feed is located here My site is hosted at edicy.com and I can't install any other server side extensions other than use XHTML, XML, HTML and Javascript.

Index your data using a search engine like solr or sphinx then have your flash app talk to the server to post a query to it and retrieve the results in XML

Related

Liferay Search Container

I have used Liferay search container for displying data for custom entity and it is working.
I have another portlet where data coming from REST API so is there any way that I can use search container? OR I need to use datatable for that.
My REST API is with pagination and without pagination.
You can use SearchContainer with any data. Its uses with DB is more natural of course but where the data comes from is irrelevant as long as SearchContainer can access it. So you can build your own service that talks to remote API and provides data to the SearchContainer. In case you haven't done that for your other service, see here for example how it can be build server side.

Querying ArangoDB without leaving page

I'm relatively new to webdevelopment and have been using ArangoDB for most of that limited experience. I have a basic understanding of Node.js and creating express based CRUD apps with ArangoDB as the database.
I'm getting to a point though where I'd like to have the ability to query the database from inside the client. Say I would like to have a datalist-type element where the user types words into a searchbar. I'd like the ability to query the database from there rather than having to query the database for all of its files prior to creating the datalist. I have not found a single mention though of using database queries from the client side. I can't imagine that this is not possible. Surely when I search wikipedia through the search bar and it provides me with options I didn't just receive the entire wikipedia documents list upon loading the page? Please steer me in the right direction, I don't know how to tackle this problem.
Have a look at how to build dynamic forms, this will allow you to perform AJAX style calls from the browser window to a back end REST API service. This will allow your back end web service to gather the data for the response (from ArangoDB if required), and respond with that data, most likely in a JSON format.
Your UI can then take that response and dynamically update components in your DOM so that the user can see the data injected into the page without a page reload action taking place.
https://www.pluralsight.com/search?q=ajax is a great place to start.
Alternatively you can have a look at free content like https://www.youtube.com/watch?v=tNKD0kfel6o

search engines index html5 web application with nodejs backend

I'm building an html5 web application with knockoutjs + backend rest service in nodejs (custom rest api, I'm not using express and i deliver only json data - no html).
The application is working fine like it is, but I need to get indexed by google.
I populate content using ajax requests and now i need to find a solution to make those pages "visible" for search engines.
Is there any true elegant solution for this? I don't want to make another backend service(website - expressjs or php etc)
Please advice :|
Google specifies a way for your site to provide "HTML snapshots" of ajax-loaded content. Not sure how well this works or if other search engines support it.
https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

Couchdb and dhtmlx library

I have created a small database (couchdb) and web page (html5 boilerplate). My end goal is to have the user click a button which will retrieve a particular view which will be rendered as a table using the dhtmlx library (http://dhtmlx.com/).
At this point I have the page initializing the table (grid) on page load. I am trying to load the data in to the table using 'mygrid.load(url,"json")' The documentation doesn't provide an example of url but I'm assuming it would the be couchdb url of the view. In my case that is: 127.0.0.1:5984/mydata/_design/mydata/_view/details. If I open that url in a browser, I see the data in json format.
{"total_rows":14,"offset":0,"rows":[
{"id":"90e77126ce592105891eba2bd4000143","key":"An","value":"addition to others"},
{"id":"90e77126ce592105891eba2bd4001106","key":"Changed","value":"Directories."},
. . .
{"id":"83001c900adeefe50928a24b98001733","key":"Yeah","value":"CSS kind of working. Guess I have express 3.0"}
]}
Needless to say:
mygrid.load("http://127.0.0.1:5984/mydata/_design/mydata/_view/details","json")
doesn't work. So:
a) Any ideas what I might be doing wrong?
b) Are there better libraries for what I'm trying to do with the grid? dhtmlx seems to be oriented to xml files, but it's what I was given.
Also check if your html is served from http:/ /127.0.0.1:5984. If it is not served from that address and port, than your javascript will not be able to issue request at all to http:/ /127.0.0.1:5984 because of Same origin policy
Sou you either have to serve your html from couchdb directly or use some proxy so that it appears they are served from same host and port.
It looks like dhtmlx supports JSON initialization:
http://www.dhtmlx.com/docs/products/dhtmlxGrid/samples/12_initialization_loading/09_init_grid_json.html
You will probably need to write some custom JavaScript to massage the CouchDB view output into a format that the Grid initializer supports.

Ember.js on the server

I'm developing a very dynamic web application via ember.js. The client-side communicates with a server-side JSON API. A user can make various choices and see diced & filtered data from all kinds of perspectives, where all of this data is brought from said API.
Thing is, I also need to generate static pages (that Google can understand) from the same data. These static pages represent pre-defined views and don't allow much interaction; they are meant to serve as landing pages for users arriving from search engines.
Naturally, I'd like to reuse as much as I can from my dynamic web application to generate these static pages, so the natural direction I thought of going for is implementing a server-side module to render these pages which would reuse as much as possible of my Ember.js views & code.
However - I can't find any material on that. Ember's docs say "Although it is possible to use Ember.js on the server side, that is beyond the scope of this guide."
Can anyone point out what would be possible to reuse on the server-end, and best practices for designing the app in a way to enable maximal such reuse?
Of course, if you think my thinking here doesn't make sense, I'd be glad to hear this (and why) too :-)
Thanks!
C.
Handlebars - Ember's templating engine - does run on the server (at least under Node.js). I've used it in my own projects.
When serving an HTTP request for a page, you could quite possibly use your existing templates: pull the relevant data from the DB, massage it into a JSON object, feed it to handlebars along with the right template, then send the result to the client.
Have a look at http://phantomjs.org/
You could use it to render the pages on the server and return a plain html version.
You have to make it follow googles ajax crawling guides: https://developers.google.com/webmasters/ajax-crawling/docs/getting-started

Resources