Project Title: The Search Initiative – Omnisearch (for WordPress dashboard)
I have proposed this idea for Google summer of code 2014.
I will introduce Omnisearch with some enhancements in the existing search. It will include new features like live search and also the search results based on the set priority. The search bar will be displayed on the user selected pages instead of being displayed on a separate page. The users will be given the opportunity to set the search results priority and the search bar position.
I will describe the project into three separate tasks:
1. Create Live Search
2. Create a page for settings
3. Improve search results
The detailed outline about each task mentioned above.
1. Create Live Search
- I will create live search to display the search results into a window just below the search bar. I will use jQuery in order to complete this task. It will also require some use of css as well so design the look of the window. I will use jQuery because it is already being used on WordPress dashboard and I believe use of Ajax will take a bit longer to load the site compared to jQuery (Please correct me if I am wrong). This task will be really helpful to users as it will instantly display the results as per the priority set by the user. So he will be able to get the result quickly. This will display high priority results on top then the less along with the number of counts with the result. I will also include themes as search results specifically for those customers who use multisite feature so that they can search for a particular theme. Including this can help to the users who don’t use multisite and have a large amount of themes with them. I will not forget to make it responsive.
2. Create a separate page for settings
- The page for settings will allow the users to select the position of the search bar and also they will be able to set priorities of the search results. I will give users the freedom to choose either a separate page for omnisearch or to display it on each page: All Posts, all media, all pages, all links and all comments. I feel this will be really useful to them as search is required everywhere. The priority for search results will include Posts, Pages, Links, Themes, Comments and Media. Posts will further be displayed as per the results found in post titles followed by post excerpt and content. This will help the user to customize the search as per their needs. I will do it using add_submenu_page and call the function to display the default structure of WordPress.
3. Improve Search results
- My efforts will be more emphasized at this particular task because prioritize results as per user’s requirement needs a lot to work on! As I have mentioned in the previous task, I will allow users to set priority for posts, pages, media, links, themes and comments. I would like to explain this by giving an example. Suppose a user has set post as his first priority followed by pages and then themes. So in the search results window, the results will be displayed as first all the posts then the pages followed by themes. All the search results will be displayed with the number of counts of the results. So that the user will be able get the result very quickly. I will use default WordPress functionality wp_query for this.
Benefits to users
- Quick and efficient search results
- Customized search area
- Bundled search results
Benefits to WordPress
- Facilitate WordPress to allow their users to have their own customized search area
- A new user friendly feature added to WordPress
- Creating modules as mentioned above will require creating new patches to the core. I will provide it as and when required
- I will use WordPress default hooks, functions and classes so that it won’t affect much on the existing
- I will use built-in jQuery to reduce the load