Skip to main content

How to create a search engine for your DotNetNuke site

Dear Readers today i found very interesting item now you can create your own search engine like google in just few steps by using dotnetnuke technology

Original URL 
http://www.wrensoft.com/zoom/support/tutorial_dnn.html

thanks for zoom

Zoom Search Engine is a software package that allows you to
create a powerful custom search engine for your website. It is
unlike other search solutions in that it gives you full control
over its indexing capabilities, and there is no advertising or
annual fees, while being one of the easiest to use and most
feature packed solutions on the market. More on the advantages
of using Zoom here.

The following tutorial explains how to use Zoom with your
DotNetNuke website. Since many DotNetNuke (DNN) users find the
built-in search functionalities of DNN Search to be lacking,
they have found that Zoom is far more capable in providing a
much more effective (both in relevance and performance) search
function to their DNN website. We provide this tutorial to
explain some common details and steps to get a working Zoom
Search Engine up and running, and integrated with your DNN site
as quickly as possible.

What you will need

Zoom is free for small websites of up to 50 pages.
For larger sites, commercial editions are available. For most
people, the Professional Edition is suitable, which indexes up
to 200,000 pages and costs only US$99. Detailed comparison of
the different editions available can be found
here.

Using Zoom and indexing your website

Using Zoom on a DotNetNuke website is much the same as using
it on any other website, so you will find much more detailed
information on installing and running Zoom in the
Users
Guide
(free PDF download). We recommend referring to the
Users Guide for most instructions and taking note of the
following tips for guidance/reference for DNN specific details.

But to summarize, Zoom has two main parts. The Indexer
software which runs on your desktop computer, scans your website
and generates a set of "index files". These files are then
uploaded to your website and provide the searching
functionality. You will also be using the Indexer to update your
search engine when you make changes to your website in the
future.

  1. For a DotNetNuke websites, you should use "Spider
    Mode
    " in Zoom, which allows it to crawl your live
    DNN website. You should specify the URL to your website (eg.
    "http://www.mysite.com/") as your Start Spider URL.

     
  2. The next thing to note is when you are selecting your
    "Platform" or scripting option. This is the type of
    scripting you would like Zoom to use internally to provide
    the search function on your website. You can generally
    select anything that your web server supports (Zoom offers
    PHP, ASP, Javascript and CGI options). But in most cases, a
    web server running a DotNetNuke website should have Classic
    ASP support enabled, and so, the most common choice here
    should be "ASP".

     
  3. One important thing to be aware of when indexing a DNN
    site, is that dynamically generated sites, especially
    complex CMS systems like DotNetNuke (and other forum
    software, photo galleries, etc.) are generally not
    considered particularly Search Engine Friendly. You might be
    aware of this already and noted that there are many people
    out there offering methods on improving your site to make it
    more optimized for search engines like Google and Yahoo to
    find. However, you might not be fully aware just what sort
    of problems a spider might have navigating your website,
    until you try to do this yourself! Some of these issues are

    discussed here
    , which cover general issues with indexing
    message boards, etc.

    The key here is that you may need to specify a Skip
    List
    of pages which you do not want the spider to
    follow whilst crawling your website. These include, for
    example, login or register links, to forum features such as
    posting and moderating. Due to the various ways a DNN site
    can be configured (and all the different combination of
    modules that you can install or write), we can not provide a
    comprehensive list of pages to skip - it will vary from site
    to site. We recommend taking a careful look at the pages
    being indexed, and determining what you need to skip based
    on the URLs. Having said that, the following is a brief list
    of common skip page entries which should be used when
    indexing DNN sites:/Login

    /Logoff

    /Register

    /LinkClick.aspx

    /rssid

    /usersettings/

    /action/new/

    /forumsearch/

    /threadsearch/

    /Forums/Forum_rss.aspx

    /threadsearch/

    /authors/
    Components like the Forums are the most
    troublesome and if you would like to exclude it entirely
    from your search index, you can simply specify the forum
    folder name (eg. "/Forums/") in the skip list to skip it all
    together.
Once properly configured, Zoom will
be able to scan through all the pages of your site and
create a set of index files for your search engine.


Spider indexing - scans an online hosted website by spider crawling the links it finds



Zoom can FTP upload files to your web server. It will remember your settings and can be configured to automatically upload after every indexing.



These files will then need to be uploaded to your web
server. Zoom has built-in FTP functionality so it can do
this for you.

We recommend you use Zoom's FTP functionality because
some FTP clients may incorrectly upload the files in
Text mode. All files should be uploaded in Binary mode.
Once the files are correctly uploaded, you will be able to
access your new search engine by entering in the URL to the
search page in your web browser. For example, if you uploaded
your files to a sub-folder named "search", your new search page
will be at http://www.mysite.com/search/search.asp

Enter in some search words and give it a try!
Using Zoom as a DNN Search replacement
As you will notice, the default search page is fairly blank,
as it has not yet been customized to suit the look and feel of
your website. In addition to this, we would want to integrate
the search page within your DNN site, and we will explain this
below.

Integrating your Zoom search page into DNN

At this point, you should have a working search page which
you can access and perform search queries on as seen above. You
can use your search page just as it is, and simply modify the
"search_template.html" file to match the look of your site.
However, if you want to further integrate the search page inside
your DNN website (so that it will maintain the same skinning and
various modules you are using), then read on.

First, we need to "Add" a new page in DNN to serve as your
new Search Page. This will contain a search form, and your
search results. You can name this something appropriate like
"Site search".

On this new page, we will need to add an IFRAME module (if
you do not see "IFRAME module" in the Modules dropdown, you will
need to login as "host" and "Install additional modules"). You
can title this added module as "Search" or something similar.
Now click on the "Edit IFrame Options" button.

Here you should specify the Link Type as a URL, and copy and
paste the URL of your working search page (from before) in the
"Location:" text box as seen below. For the width, specify
"100%" and we recommend a decent height of something around 600
pixels.


Next, click on the expand box next to the "QueryString
Parameters" heading. We will need to add all the parameters that
Zoom will use so that the page can pass these parameters along
to the actual "search.asp" script within the IFrame. Click on
the "Add QueryString Parameter" link and specify the following:


This allows the main search query to be passed to this page.
If you would like to have more parameters in your custom search
forms (search forms that you will place on other pages of your
site), then you will need to add them here as well. If you are
not familiar with the idea of the custom search form or what
other parameters are necessary, don't worry, as this will be
explained a little later below and you can come back here to add
more parameters as needed.


Now click "Save" to return to your search page. You should
now see your Zoom search page loaded within the IFrame of your
DNN search page!


Run a few test searches and you should find that everything
should be working within your new DNN search page.

If you wish to modify the text or layout (or the colours and
fonts of the search results) within the IFrame, you will need to
change the "search_template.html" file. Please see chapter 6 of
the Users
Guide
("How do I customize the look of my search page?") for
more information.

Note: You may notice that when you click on
a search result, the link opens within the IFrame of the search
page. If you wish to change this behaviour, go to the Zoom
Configuration window, and select the "Search Page" tab. Under
"Results linking", change the selected option to "Frame or
window:" and enter "_top" (without the quote characters, but
note that the underscore is important) in the text box next to
this option. Re-index your website and upload the files for this
change to take effect. You will now find your search result
links will open outside of the IFrame.

Additional note: If you make the IFRAME very
tall, you'll find that when you click on the "Next >>" results
link down at the bottom of the search results page, the browser
would not scroll back to the top of the frame automatically. To
fix this, edit your "search_template.html" file and replace the
<body> tag with the following:

<body onload="location.href='#'">

Adding search boxes to your other web pages

You may now be wondering how you can add search boxes on the
other pages of your website. These boxes are often a simpler,
smaller version of the search box you see on the search page
that allows people to submit a simple search query from any
where on the site. It will then take them to this search page
with their results.

To do this, you simply need to add the following HTML in any
existing Text/HTML module (or a new Text/HTML module):

<input type="text" name="zoom_query" size="20"><br><br>

<input type="button" value="Search" onClick="window.location='http://www.mysite.com/tabid/23/Default.aspx?zoom_query='
+ this.form.zoom_query.value" >

You will need to replace the URL in the above HTML (in
green) with the actual
URL to your DNN search page that you created earlier (easy way
to find this is to go to your new search page, and copy the URL
from the top bar of your browser). Replace the URL in the above
HTML with your own, but make sure to retain the "?zoom_query="
part at the end.

(Note that the above search form does not take over the
"Enter" key. We provide this minimal HTML to prevent disturbing
other other form elements on the same page. But if you wish to
be able to submit your search by pressing the "Enter" key, see
below)


Save your changes, and you should now have a working custom
search box on your DNN page!


You can place this search box on any of your other pages, or
make it part of your template/skin.

If you wish to create a custom search box which has more
options (such as changing between "match any search words" and
"match all search words", or having category boxes, etc.) you
should refer to

this FAQ support page
on defining the search form HTML. As
mentioned before, this involves the use of additional "zoom_"
style parameters and you'll need to make sure you have them
added to the QueryString parameter section in the IFrames
settings (see above).

Now you have a very own custom search engine as part of your
DotNetNuke site! I hope the above has been helpful in getting
you up and running. There are many options and configurations
possible with Zoom which you can fine-tune to your heart's
content, including highlighting, categories, and more. Look into
the Users Guide for details.

Enjoy your new search engine!

Troubleshooting

If you have any problems with indexing your website, you
should refer to our

extensive online support section
for help. There is also a
Discussion Forum for
seeking and sharing tips and advice.

Using the Enter key with your search form

As explained in the section above ("Adding search boxes
to your other web pages
"), you will need to add special
HTML in order to add a search box to the other DNN pages of your
site. The HTML provided in the above section does not accept the
Enter key on your keyboard. This is to avoid disturbing any
other form elements on your page which might require/expect the
Enter key.

However, if you wish to make it so that the Enter key will
submit the query in the search box, then you should replace this
line in the abovementioned HTML:

<input type="text" name="zoom_query" size="20">
With the following:
<input type="text" name="zoom_query" size="20"
onKeyPress="if (event.keyCode==13) { window.location='http://www.mysite.com/tabid/23/Default.aspx?zoom_query='
+ this.form.zoom_query.value; return false; }">

Again, make sure to replace the text in
green with the URL to
your DNN search page. 



Regards 

Rashid Bilgrami 
Best Visualization 
CEO 
http://www.bestvisualization.com  

Comments

Popular posts from this blog

RegisterStartupScript updated way to right Java script JS (Javascript) in code behind also work with update panel

Dear All
RegisterStartupScript is obsolete now the new way that works with update panel  is given below its is code behind file code also

VB Code Dim csname1 As String = "PopupScript"
Dim cstype As Type = Me.GetType()
Dim cs As ClientScriptManager = Page.ClientScript
Dim cstext1 As String = "alert('Your message');"
cs.RegisterStartupScript(cstype, csname1, cstext1, True)

C# Code
String csname1 = "PopupScript";
Type cstype = this.GetType();
ClientScriptManager cs = Page.ClientScript;
String cstext1 = "alert('Hello World');"; cs.RegisterStartupScript(cstype, csname1, cstext1, true);
I hope it will help you also 
Regards  Rashid Imran Bilgrami

Calling LoadLibraryEx on ISAPI filter “C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll” failed

Dear Readers
if you get the error

Calling LoadLibraryEx on ISAPI filter “C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_filter.dll” failed


Here is the solution 
Get a command prompt in administrator mode and go to C:\Windows\Microsoft .NET\FrameWork64\v4.xxx
and run aspnet_regiis -r. This will re-register the right libraries. It has happened twice already to me.
For other frameworks (32 bit or other versions of .net make sure you go to the correct folder (i.e. Framework/v2.xxx, etc.)

xxxx is the the number which is present with the folder name so i suggest you guys to check the folder name in your directory

If "run aspnet_regiis -r" is not working and if you get the error run is not recognized command then just type " aspnet_regiis -r" it will run fine

Reason of problem
Your asp.net frame work has been change may be you have install the lower version on the higher version or may be because of any reason you have register another version in your IIS, in my cas…

Multi Language Website In DNN Or Content Localization in DNN

Dear Readers
Before that when we create the Multi Language website in dnn we always create two portal but with DNN 5.x version you will use the language resource for creating multi language website website

You are facing two major challenges to create Multi language website
1) Translation of the DNN controls in to local language
2) Translate your own pages navigation or menu in to multi languages
3) Translate your own custom content in to local language
4) Translate your custom modules in to the local languages

Lets start with the first challange

Challenge 1: Translation of the DNN controls in to local language 
This is an easiest part, you can follow the steps achieve this challenge

1) Login with your host/Admin  account
2) Go to the Admin / Languages
3) Click on ADD Languages
4) Select the language that you need and Add it
5) You will see now two languages in your language section
6) With the list you will see the three option

Static Resources
System | Host |Site

7) you can click on t…