Small Business, This When Erorrs in Social Media Campaign

Running a small business with social media to increase sales and get the attention of potential customers. Unfortunately, most of them made a mistake when utilizing social media. For example mudha rookie mistakes to be avoided. Here are 5 of the biggest mistakes small businesses in the social media that must be avoided:

Social Media Campaign
Amount Lots
It took a lot of time to use social media. Usually they will focus on one or two things instead of using all the social media platforms available. That way you will look more in focus. If you have a lot of time you will be able to decide.

Wasting Resource On Social Media Campaign Ineffective
You need to know what works what does not in the use of social media, for that you have to measure the success of your strategy. If you see your website is getting a lot of attention to post your video on Facebook, then spend time to do that.

Branding Opportunities
Companies need a coherent period of time to take advantage of social media. Fill out your profile completely, in order to facilitate your customers. Social media gives you the opportunity to include logos, images, website links, and a description of your business.

Take advantage of this opportunity, because it can help customers identify the business. Fill out the profile of your company can help them in searching for information online. If you lewatka this aspect, at least you lose buyers.

Speaking Without Listening
You do not have to send the message multiple times to your customers. You have to pay attention to what people post on your profile. Say thank you to your customers if they are satisfied or not satisfied, so no bad comments at pagemu.

If you cope with the positive comments with affirmative messages and can educate this audience will appease unhappy customers. Learn to properly understand your customers desire.

Leaving Social Media Profiles Without Supervision / Off
Social media requires a commitment every day. You must have time to deliver post or send a tweet. Most of them want to see the profile of Facebook, Twitter, and other platforms kemdian ignored. Use social media wisely-wise, because it concerns the number of subscribers.


 

ahpnewhomeASPHostPortal.com is The Best, Cheap and Recommended ASP.NET & Linux Hosting. ASPHostPortal.com has ability to support the latest Microsoft, ASP.NET, and Linux technology, such as: such as: WebMatrix, Web Deploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Light Switch, Latest MySql version, Latest PHPMyAdmin, Support PHP 5. x, etc. Their service include shared hosting, reseller hosting, and Sharepoint hosting, with speciality in ASP.NET, SQL Server, and Linux solutions. Protection, trustworthiness, and performance are at the core of hosting operations to make certain every website and software hosted is so secured and performs at the best possible level.

 

ihostazure-post

5 Best WordPress plugin for slider banner

Sliders for WordPress is a tool that adds the option of changing the pages with the help of tabs or automatically. Of late, the WordPress sliders have become extremely popular thanks to their highly innovative as well as catchy gets up. These sliders have augmented the user friendliness as well as the visual excellence of the web pages by many folds. This has helped in drawing the attention of the users and increasing the traffic of various websites.

There are certain free sliders for WordPress which are based on jQuery. These sliders have given users the options of customizing their requirements in a better way. Some other free WordPress sliders contain almost all the features of jQuery plugin such as the plus a customized administration panel along with a number of options that will help the user in management of the slides. One of the best WordPress sliders gives the users over a properties each of which is customer-specific other than over a hundred effects of transition effects, more than ten types of skins or get up apart from a number of added features. The following are 5 Best WordPress plugin for slider banner.

vSlider – WordPress Image Slider Plugin

vSlider is a wordpress image slider plugin where you can host multiple image sliders and upto 20 slides per slider.

  • More Features
  • Get First or Featured Images from Post or Page
  • Load images faster with `Image caching`
  • Custom slider Width and Height
  • Give Title and Text to each slide
  • 4 Slide layouts
  • Auto resize images
  • Set Image quality
  • Custom navigation styles
  • Custom image button styles
  • 9 Image transition sffects
  • Navigation button placement
  • Short Code and inbuilt Widget
  • Custom border,color and radius
  • [NEW] Randmize Image Sequence

jQuery Slider Shock

jQuery SliderShock has a very complete documentation into which you can find from how to set it up to more advance usage. jQuery Slider Shock supports not only images but also allows you to show Videos from YouTube playlists, RSS Feeds, Twitter Feeds, Flickr and Instagram images from an account. For premium member, You can create an slider from each of the following sources: Custom Slides, Posts (WordPress), Custom Post Types (WP), Taxonomies (WP), External RSS, YouTube, Flickr, Twitter and Instagram.

Easing Slider

Easing Slider is an extremely easy to use slider plugin for WordPress. It is built to be lightweight and simple, enabling you to create beautiful sliders quickly and efficiently. It comes with many great features, some of which include:

  • Fully responsive & mobile ready
  • Bulk image uploading, integrated with new WordPress Media Library
  • CSS3 transitions for ultra smooth transitions
  • Navigation arrows & pagination
  • Preloading functionality on page load
  • A visual editor for customizing basic styling
  • Developer friendly with built-in Javascript events
  • Dozens of extensions that greatly enhance plugin functionality
  • Lots of actions & filters for custom functionality

Nivo Slider

This plugin creates a Slideshow/Slider with post thumbnails in your posts configured for a particular category of your wordpress. It is entirely written in jQuery (following the pattern of my other plugins).

It can be integrated anywhere on your Blog/Website. The WP Nivo Slider shows your chosen Blog Posts from a specific Category.

Slidepost

Slidepost is a simple plugin to display WordPress posts as a slideshow.

  • Fullscreen slideshow of posts
  • jQuery scroll animation
  • 2 presentation styles included
  • Randomize display order
  • Custom logo options
  • Description text
  • Multiple resolutions
  • Originally designed to display real estate listings on a LCD screen.
How to Block Comments SPAM on WordPress Site5

How to Block Comments SPAM on WordPress Site

Have you noticed recently increased SPAM on your WordPress blog? Lots of Trackback SPAM?

Well, this is ongoing issue since very long time. I used just one plugin Akismet which most of the time prevented trackback spam but what if you want to completely eliminate trackbacks on your blog?

There are lots of other AntiSPAM WordPress plugins available but I would suggest to use only few or as much less plugin as possible on your blog. Otherwise they may use lots your resources may impact blog performance.

In this post, we will look at some simple steps that every site owner should take to fight back comment spam.

1. Enable Comment Moderation

WordPress comes with a built-in system that holds down all comments into a moderation queue until you approve them. Log in to your WordPress admin area and go to Settings -> Discussion page. Scroll down to ‘Before a comment appears’ option and make sure that the box next to Comment must be manually approved is checked.

How to Block Comments SPAM on WordPress Site
Now all comments posted on your WordPress site will go to the moderation queue and will not be visible on your site until you approve them.

2. Turn off Comments on Old Posts

The next step in reducing comment spam is to turn off comments on older posts. Comment spam bots usually search the web looking for pages containing a WordPress comment box. By turning off comments on older posts you will be reducing the number of times your posts are found and targeted by spam bots.

WordPress makes this easy with a built in option on Settings -> Discussion page. Scroll down to Other Comments Settings and check the box next to ‘Automatically close comments on articles older than 15 days’.

How to Block Comments SPAM on WordPress Site2
You can set the number of days before comments close on a post. Click on the save changes button at the bottom of the page. All your older posts will now have comments turned off.

3. Activate Akismet

Akismet is a spam prevention service offered by Automattic (The company behind WordPress.com). It catches the comment spam before it reaches your website.

Akismet is one of the two plugins that come pre-installed with every WordPress site. However, it is not activated by default. If you haven’t turned it on yet, then you need to visit the plugins page and click on the activate link below Akismet.

How to Block Comments SPAM on WordPress Site3
After activating the plugin you will see a notification asking you to activate your Akismet account. Click on the button and follow on-screen instructions to activate your Akismet account.

4. Turn off comments on Media Attachments and Other Post Types

Sometimes comment box may appear on your Media attachment pages in WordPress. Most site owners don’t want users to comment on media attachment page. Here is how you can easily disable comments on not only just media attachments but also on pages and other post types.

How to Block Comments SPAM on WordPress Site4

You will need to install Disable Comments plugin. Go to the plugin’s settings page located under Settings -> Disable Comments. Select the post types where you want to disable comments and save.

pricing tables

Create Beautiful Pricing Table in WordPress with Easy Pricing Table

Pricing tables play an important role for every company that offers products or services. They are a challenge from both a design and usability standpoint. They must be simple but at the same time clearly differentiate between features and prices of different products and services.

ahp-promo-300x270

Creating and styling pricing tables can be a challenge if you’re not very handy with HTML and CSS. Easy Pricing Table is a new free plugin that aims to make it simple for anyone to set up a visually compelling pricing table. The default design is a flat style with colors that can be set via a user-friendly colorpicker in the admin.

If you can’t create pricing table with coding, Easy Pricing Tables come with a great functional value and completely delivers what it promises, a high value plug-in made to enhance user experience on WordPress website and creatively present information of interest. The tool is very easy to use as we have discussed and has some really amazing user or online support.

Easing Pricing Table has a settings panel where you can easily customize the appearance of the table as well as each individual column. You’ll have the option to set the title, price, features, duration, button text, URL, column color and order.

Create Beautiful Pricing Table in WordPress with Easy Pricing Table

Tables can be displayed using the auto-generated shortcode or via a widget. The plugin allows you to create multiple pricing tables and maintain separate customization settings for each. Be advised that if the pricing tables don’t match the demo exactly, it’s likely because they are designed to take on some of the characteristics of your theme, ie. typography, headline styles, etc. You can further customize this via CSS if necessary.

I was impressed by how easy this plugin is to use. Many other pricing table plugins also use shortcodes, but they often require you to manually input all the information as attributes. This becomes messy and difficult to visualize. However, this plugin does an excellent job of providing an interface that allows you to quickly create, customize, and visualize the columns of your pricing table.

Create Beautiful Pricing Table in WordPress with Easy Pricing Table2

Easy Pricing Table is one of the fastest ways to create a beautiful pricing table without having to touch any code. If you’re using a theme with a flat style design, then this plugin should drop in nicely.

10 Secrets To Rob Traffic from Twitter

10 Secrets To Rob Traffic from Twitter

Despite the brilliance of your occasional tweets, somehow the world isn’t beating a path to your blog or website. What are others doing that you are not?

(Note: Wherever I say ‘blog’ in this article I’m including regular websites too as the strategies are the same.)

The question above is one I posed to myself some time ago, which led me to do some research and change my Twitter ways. You will be the lucky recipients of that research without having to do the work.

10 Secrets To Rob Traffic from Twitter2First you should know there are many strategies for building traffic on Twitter and your blog and many of them are circular; i.e. building a highly sought after blog will make your Twitter tweets more sought after and creating better tweets promoting your blog will send more traffic to your blog. It’s a win-win for the blog and Twitter and a big win for you.

There were almost as many strategies as there are experts but some are agreed on by pretty well everyone. Here are the ones I found to have the most ‘votes’. I’ve listed them in the order I think works best for an individuals’ blog.

1. Be active on Twitter

Use your first and last 15 minutes of each day to tweet, follow, and respond to your followers. Be tweeting before most people in your target audience have gone to work and again after they’ve returned home. Also, I live in the same time zone as my target audience so the beginning and end of my day fits in with their day too. However, if your target market lives in a different time zone, you need to make your time on Twitter suit your audience’s day. There’s a handy program called Tweet When that can help you with that.

2. Create an engaging Biography.

People like to interact with people, even when they’re ‘interacting’ electronically over great distances. Be sure you have a great Avatar, preferably a photo of you. If you’d rather not use your own face, use an image that says something about you. Just be sure whatever your Avatar is, it looks professional. If it’s a photo of you, make your face the focus. Keep in mind, this is the first way your readers, and hopefully soon-to-be followers, know anything about you. It’s that first impression that everyone remembers.

3. Include images

Twitter has moved on from being a text-only medium and you need to as well. Stunning, quirky, emotion-laden images are the most re-tweeted items out there and will bring lots of traffic to your blog to see and read more. This is particularly true for travel blogs where the scenery is often what draws people to visit.

4. Keep your Tweets shorter than the 140 characters

Short tweets allow re-tweeters to add their thoughts to yours and. surveys show that short tweets are much more likely to get re-tweeted.

5. While we’re talking about re-tweeting, don’t be shy – ask for one

Don’t ask every time, of course, but when you have something you feel is worth a wider audience, ask your followers for a re-tweet, known as an RT. It may not be what your mom taught you but in the Twitter verse you’ll find asking gets you way more ‘shares’. Become a re-tweeter yourself, particularly when you see your own blog mentioned.

6. Use quotes often, either from your own blog or from another source, such as

A famous person, book or movie.

Choose something wise, provocative, intriguing or interestingly controversial — just not something ugly or obnoxious.

7. Questions, like quotes, are a good way to spark interest

I once heard questions described as the spark plugs of conversation — and they are. One of the things we’ve learned from the Internet world is that people enjoy even the silliest of surveys so use that to your advantage. As with all things web traffic related, keep your questions focused on your blog’s subject or niche.

8. Add #Hash tags and @mentions to your posts

These Twitter features help spread the word. Hash tags are a way of creating a discussion theme. Just put a word or two behind a # symbol and people can take part in a discussion knowing they’re talking around the same subject. A @ mention allows you to include a Twitter user’s address, which is useful and flattering for directly tweeting to specific people.

9. Be sure to tweet about any contest happening on your blog.

Contests are a great way to get traffic to a blog and Twitter is a great way to advertise them. People love this kind of light-hearted engagement with sites. Be sure to mention your Twitter feed on your blog and anywhere else it makes sense, business cards, for example.

10. While we’re talking blogs, develop your Twitter niche to complement your blog’s theme.

This is easy if you’ve a travel-related blog but it still needs to be done even if your blog is less physically focused. Whatever your blog is about, Do your best to get emotions into your posts and tweets. Think of the things that have ‘gone viral’ these past years – funny cats are a good example. Here again, images are often the quickest way to capture the moment. Search Pinterest for pictures that tell the story.

youtube to dotnetnuke

3 Easy Steps to Add Youtube Videos in DotNetNuke

Adding your YouTube videos in DotNetNuke 7 is easily accomplished with the DotNetNuke Media Module. The Media Module actually provides two methods to embed videos from YouTube. One method uses the published embed code which is Javascript based. The second method, and the one we will cover in this article, uses Embed along with the YouTube video URL.

To add YouTube videos to your DotNetNuke site with embed YouTube URL is an easy 3 step process. In general, you do the following:

  1. Find video and get the YouTube embed code
  2. Add a new HTML text control module or add an entry to an existing blog
  3. Paste the embed code into the html view of the editor

Now, we’ll step through these 3 steps in a little more detail. Search for and find a video that you want to include in your blog. Click on the embed code button as shown in the below screenshot. Select the appropriate sizes and color for your site, and then highlight and copy the text in the text area labeled 2.

Add Youtube Videos in DotNetNuke

You can now take this embed code and add it to either a new blog entry ro a new HTML/Text module you have dropped on a page. I chose to add it to a new blog entry on a site of mine that uses the SunBlogNuke blogging module, so that is what I will show you below. As you can see below, I have selected the HTML view of the editor. You want to be sure it is in this view or when you paste the embed code, it won’t work. Now paste the embed code into the editor. At this point, you can change back to design mode and edit the entry.

Now you can go in and add your tags, excerpt, and other blog settings. Leave me a comment if you have any questions on this.

5031666461_da6f6f7033_b

Say Good Bye to ugly URL on DotNetNuke

This is a big step forward. Starting with DNN v.7.1, you can say goodbye to ugly URLs and .aspx extensions. Following a suggestion made by yours truly, DNN 7.1 has adopted a “Page URL” field in Page Settings, letting you specify the exact URL the page should use. If you want to experience this update, I recommend you to host with ASPHostPortal.com. They really expert in DotNetNuke field.

dnnuglyurl
Back to the topic, this is essentially an URL rewrite for the page, that makes the page’s URL independent of the page’s name, meaning that you can change the name as many times as you like, without affecting any links that are present in text/html modules or elsewhere.

The only bad thing (or good, depending on your point of view) is that the URL is not automatically synthesized based on page hierarhcy, meaning that you have to specify the exact URL for each page, starting from the virtual root.

For example, in the default DNN installation you have the About Us page which has a URL of “/About-Us” while the sub-page Style Guide has a URL of “/About-Us/StyleGuide”. The whole URL for the Style Guide page has to be typed again, i.e. the “/About-Us” part is not inherited from the URL field of the parent page.

This makes things a bit more difficult since you have to remember the URLs of parent pages if you want to represent the hierarchy using friendly URLs, but on the other hand gives you a bit of freedom since you do not need to specify exact paths to get to a page – you can easily give the Style Guide page, for example, a URL of “/YourStyleGuide”, forgetting the “About-Us” part at all.

It would be nice to see an “inherit” option in future versions though.

contactform

Easy Steps to Create Contact Form on Umbraco

Putting together forms in Umbraco when you’re reasonably new to the platform can be a bit of work even for those who are very familiar with MVC. Handling the post-back of the form within Umbraco and working with Surface Controllers takes a bit of time to get your head around (although not too much time, to be fair). If you want to get your Umbraco site more powerful with cheap cost, You must try asphostportal.com. Their team is so expert in Umbraco, you can get fast and clear solution with them.

Back to the topic. There are already a fair number of tutorials on how to create a contact form in Umbraco on the web but many of these deal with older versions (i.e. v5.0 and earlier), so I’ve put together a quick rundown of my approach for version 7 in case others are looking for the same material.

The “How”

First, here’s my Controller code:

namespace AcuIT.Controllers
{
public class ContactController : SurfaceController
{
[ChildActionOnly]
public ActionResult ContactForm()
{
// In case you need it...
var currentNode = Umbraco.TypedContent(UmbracoContext.PageId.GetValueOrDefault());

var model = new ContactModel();
return PartialView("ContactForm", model);
}


[HttpPost]
public ActionResult ContactForm(ContactModel model)
{
if (ModelState.IsValid)
{
var sb = new StringBuilder();
sb.AppendFormat("<p>Message: {0}</p>", model.Message);
sb.AppendFormat("<p>Email from website: {0}</p>", model.Subject);
sb.AppendFormat("<p>Name: {0}</p>", model.Name);
sb.AppendFormat("<p>Email: {0}</p>", model.Email);
sb.AppendFormat("<p>Phone: {0}</p>", model.Phone);

SmtpClient smtp = new SmtpClient();
MailMessage message = new MailMessage();

message.To.Add(new MailAddress(ConfigurationManager.AppSettings["ContactAddress"]));
message.Sender = new MailAddress(model.Email);
message.Body = sb.ToString();
message.IsBodyHtml = true;

try
{
smtp.Send(message);

}
catch (SmtpException smtpEx)
{
// Log or manage your error here, then...
return RedirectToUmbracoPage(1063); // <- My published error page.
}

return RedirectToUmbracoPage(model.RedirectPage);
}
return CurrentUmbracoPage();
}
}
}

The model:

namespace AcuIT.Models
{
public class ContactModel
{
[Required]
public string Subject { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Email { get; set; }
public string Phone { get; set; }
[Required]
public string Message { get; set; }
public int RedirectPage { get; set; }
}
}

The partial view:

@inherits Umbraco.Web.Mvc.UmbracoViewPage<AcuIT.Models.ContactModel>


@using (Html.BeginUmbracoForm<AcuIT.Controllers.ContactController>("ContactForm", new { RedirectPage = 1064 }))
{
<div class="row">
<div class="small-10">
<div class="row">
<div class="small-3 columns">
<label for="Name" class="right inline">Name</label>
</div>
<div class="small-9 columns">
<input type="text" placeholder="Your name" id="Name" name="Name" />
</div>
</div>
<div class="row">
<div class="small-3 columns">
<label for="Email" class="right inline">Email</label>
</div>
<div class="small-9 columns">
<input type="email" placeholder="Your email address" id="Email" name="Email" />
</div>
</div>
<div class="row">
<div class="small-3 columns">
<label for="Subject" class="right inline">Subject</label>
</div>
<div class="small-9 columns">
<input type="text" placeholder="Regarding..." id="Subject" name="Subject" />
</div>
</div>
<div class="row">
<div class="small-3 columns">
<label for="Message" class="right inline">Message</label>
</div>
<div class="small-9 columns">
<textarea id="Message" name="Message"></textarea>
</div>
</div>
</div>
<div class="small-10">
<div class="row">
<div class="small-9 small-offset-3 columns">
<input type="submit" class="button tiny" value="Send" />
</div>
</div>
</div>
</div>
}

There is honestly nothing fancy happening here. The controller and model sit in the main Umbraco project’s respective folders; the partial view is in my MacroPartials folder.

Mail settings are held in the System.Net section of the Web.Config file. That’s really all there is to it.

Hope that helps!

sql-server

Cheap and Reliable Hosting :: How to Create Database in SQL Server 2008

IHostAzure.com | Cheap and Reliable SQL Server 2008 hosting. Hello friends. Today I am sharing my article about how to create databases, create tables, insert values into tables and update, delete and so on. I know this is basic information but I know this article will be helpful for all beginner students.

You need to first install .Net and then you need to install Microsoft SQL Server, any version. I have installed SQL Server 2008 .

1

After installation, connect to the database

Coding

create database School2;    /*School2 database name*/  
use school2;   /*use query for select database*/   
Create table Student   /* create table_Name(Student)*/  
(  
   Batch varchar(25)not null,  
   Reg_No Varchar (25) primary key not null,  
   Course varchar(20)not null,  
   Name_ varchar(15) not null,  
   Last_Name varchar(10) not null,  
   Fahter_Name varchar(18)not null,   
   Age int not null,  
   Sex varchar(8) not null,  
   Parent_Mo_No Bigint not null,  
   Student_Mo_no Bigint not null,  
   Nationality varchar(15) not null,  
   State varchar(15) not null,  
   City varchar(15) not null,  
   Local_Address varchar(30) not null,  
   Pin_Code bigint not null,  
   Parent_Occupation varchar(15) not null,  
   Total_Rs int not null,  
   Date_ datetime  
);  
select * from Student;    /* select * form means show all data form table*/  
insert into student values('LLB_08_2ndy','776678','LLB','alexia','anjali','mark marquest',23,'Male',9891688420,9968022717,'Indian','Bihar','Patna','Ny 26A',800001,'Gov job',90000,5/12/1986);  
insert into student values('BA_1stYear','776683','Pol Science','Rajat','Singh','Suman Singh',23,'Male',9565434560,9716157368,'Indian','Delhi','New Delhi','Mahipalpur New Delhi',110037,'Businessman',70000,5/05/2015)  
delete from Student where Student_Mo_no='9540434299'; /* Delete query use for delete insert recored form table */ 
update student set Date_ =04/04/2015 where Reg_No='776678'; /*update query use for update in existing data add new data*/  

More select query using conditional expression

select * from Student where Total_Rs=7000;     /*this quary based on search particular details using where clause...*/  
  
select * from Student  
where Course ='cs'     
AND Reg_No ='776679';     /*AND Operator using this quary both condition true then value will print.*/  
  
select * from Student  
where Last_Name ='pamelov'  
OR Reg_No='776679';      /*OR Operator using this quary if any condition will true value will print if both are true both value print.*/  
  
  
select * from student  
where State ='bihar'  
AND(Reg_No ='776678' OR Reg_No='776679');  /*this quary using both AND & OR Operator print value only AND Operator*/  

A constraint is a condition or check for an application on a field or set of fields.

  • Delete is a DML command and drop is a DDL command
  • Delete is used to delete rows from a table whereas drop is used to remove the entire table or database from the database.
  • Update is a DML command and alter is a DDL command
  • Update is used to update data in an existing table

So friends, this is a small article that will help you with “How to Create a Database in SQL Server 2008“.
Next time I will provide more interesting commands. Thank you. I Hope this is helpful for you. Enjoy, 🙂

Thanks in advance,

img_code

Cheap and Reliable Hosting :: SignalR for communication between two App Parts in SharePoint 2013.

IHostAzure.com | Cheap and Reliable ASP.NET Hosting. Today I will explain tutorials about SignalR for communication two App Parts in SharePoint 2013. There are many tutorials for creating chat applications in MVC using SignalR (Here). We can use this same concept to allow SharePoint app parts to communicate with each other. SharePointers usually encounter this problem where they want their app parts to convey some information to each other. Since these app parts are in two different Iframes, they don’t have many options for communicating with each other in real time. We can use SignalR to solve this problem.

After reading this article you will be able to create a SharePoint app part that displays the survey results chart that is updated at the instant someone submits a vote in the other app part. So one app part acts as the sender and one receiver, unlike a chat app where both the clients act as senders and receivers.

Here is the procedure

  • To start, create a provider-hosted (MVC) SharePoint app using Visual Studio 2013.
  • The MVC app must have two views: One view that allows the user to vote on certain Survey Questions and another view that shows the current survey result in the form of a Pie chart. (I have used SharePoint lists to store questions and answers and the corresponding vote count.)
  • Once you are done with the two views and your app is up and running, install the Nuget package ASP.NET SignalR in the MVC app from the Package Manager or from the command line.

Add an OWIN startup class file

Select Add new Item to project. Then select OWIN Startup Class. Use the following code in the Configuration function.

1

  • Add SignalR Hub class

Select add new item to the project. Then select SignalR Hub Class and add the following function to the class. This is a server method in which we call the client method on all the specific clients

2

So here notifyVotes is a server method that calls the showNotifiedVotes method defined on all clients.

  • Code for sender (view that allows user to vote on certain Survey Questions)

The sender needs to call the server method of the hub class with the data that is to be sent to the clients. This is done in an event handler that should trigger this broadcast. In our case that would be the Vote button click handler. So here goes the code for that.

3
So we define the handler for the submit vote button. An important thing to remember is the handler must be registered after the connection start method of the hub is “done” or succeeded. So the jQuery click handler is put in the callback function of the start method. As the ajax POST request that updates the votes in SharePoint list succeeds, the server method in the hub is called with the Id of the survey that was updated and the user who updated it.

  • Code for receiver (view that shows the current survey result in the form of a pie chart)

4

The receiver’s showNotitfiedVotes function is called from the server method of the hub and it re-renders the chart for the corresponding survey Id. Also gives a toaster notification of which user voted for which option. Be sure to start the hub connection in the “document.ready” event handler.

  • Add a reference to the following script files in both the sender and the receiver view:

5

  • Combined API for all SignalR JavaScript operations

Just to have the SignalR code in one place instead of scattering it over multiple views, I added one JavaScript file, SignalR.API.js, with 3 methods.

InitReceiver: contains the receiver’s code. Called in the doc.ready event handler of the receiver.
InitSender: contains the event handler for the submit vote button.

StartConnection(callback): starts a connection and accepts a callback function that is called in the “done” success handler of the start method. Here is how the sender and receiver code looks like now.

6

7

  • Run the app

Open two views in two separate windows. Hit the Vote button and Voila! You can see that the Pie chart is re-rendered and it shows the updated survey results.
Now you can add these two views as App parts on your SharePoint tenant page and you will have two app parts that are communicating with each other using  SignalR.