| Innovative Mobile
Business Intelligence App on Microsoft Surface RT Tablet Allows Executives to
Make Decisions On the Go

It’s no secret that information in 2012 is more mobile than
it ever has been. With widespread adoption of handheld mobile devices ranging
from tablets to smartphones, most technology execs have mobile on the brain and
a device in their hands.
Not surprisingly, mobile, actionable data dominates
Gartner’s predictions for 2013 technology trends. [1] We already know that
the benefits of actionable BI data are endless. By leveraging business intelligence
tools such as KPI data visualizations, executives have the ability to
efficiently manage corporate data, use that data to make more informed
decisions, optimize business processes, align action with strategy, and raise
customer service standards. The problem is that traditional BI involves being
tethered to one’s desk in order to analyze and act on this powerful information.
With the demand for business intelligence (BI) software growing into a $12bn
industry in 2011 [2] it is up to System Integrators like Affirma to unchain BI
from the desktop and repurpose it for an increasingly mobile workforce.
The introduction of Microsoft’s Surface RT tablet gave our
team at Affirma the perfect opportunity to bridge this gap. Given that Windows
8 was released only a few months ago, Microsoft has some catching up to do if
they want to compete with app store monoliths like Apple and Google. Windows 8 apps
are dwarfed 35-1 [3] by apps on the Apple store and 30-1 by apps on Google
Play. By focusing on innovative, business-centric apps, Microsoft has the
unique opportunity to capture the mobile enterprise market. As soon as the Surface was released,
Affirma’s CTO, Joel Wetzel, was immediately inspired by the infinite business
possibilities for the device. Joel was determined to develop a completely custom
mobile BI application specifically for the Surface RT tablet. And he did.
Joel worked closely with Affirma’s Creative Services team to
design an app that would be consistent with the clean, streamlined Windows 8
style. We also ran the full gamut of usability testing to ensure an intuitive,
interactive User Experience. By leveraging Microsoft technologies including
Windows 8 RT, XAML, SQL Server, and Windows Azure, we were able to build a
mobile BI app that seamlessly integrates with our company’s existing
infrastructure and also updates in real-time.
“Don’t expect to find our mobile BI App in the Windows 8 App
Store anytime soon. At Affirma, the thing we really pride ourselves on is our
ability to deliver custom solutions for each and every client. Although this
app isn’t for purchase, it illustrates Affirma’s ability to innovate around
Microsoft technologies. For our clients who want to harness the decision-making
power of mobile business intelligence, we have the capabilities to develop solutions to fit their unique needs. By customizing each mobile BI solution to our
clients’ business goals and objectives, integrating it with their preferred
technologies and Line-of-Business systems, and making it available on the
devices or platforms they use every day, we set our clients up to make the best
decisions possible for their business,” says Joel Wetzel.
The information you need to make an informed decision is no
longer tied to your desk. Executives can access and interact with performance
data anywhere, anytime and on any device thanks to Affirma’s innovation around
mobile BI.
Click on the link below to watch our short video
demonstration of Affirma’s CTO interacting with Affirma’s new mobile BI app.
Video: http://info.affirmaconsulting.com/mobile-bi-app-for-microsoft-surface/
Dignan, Larry.
""Mobile, actionable data dominates Gartner's 2013 tech
trends"." 23 October 2012. ZD Net.
<http://www.zdnet.com/mobile-actionable-data-dominates-gartners-2013-tech-trends-7000006214/>.
Mello Jr., John
P. "Windows 8 apps store cracks 20,000, most of them free." 23
November 2012. PC World.
<http://www.pcworld.com/article/2016514/windows-8-apps-store-cracks-20-000-most-of-them-free.html>.
Saran, Cliff.
"Gartner: Business intelligence still highest priority for CIOs." 2
April 2012. Computerweekly.com.
<http://www.computerweekly.com/news/2240147762/Gartner-BI-still-the-Number-One-priority-for-CIOs>.
|
| BY: MICHAEL BROWN, CEO
I recently had the opportunity to work with the new MVC 4 framework. There were definitely a few MVC development questions that took time to resolve: What is the proper architecture? Which technologies should be used on the server? Which technologies should be used on the client (AutoMapper, knockout, jqGrid, etc..)?
I have settled on the bulk of these questions from reading online. However, finding centralized, clear information on how to handle server side validation and return it to the client was certainly a challenge. One of the more helpful articles I found on server side validation: Validating with a Service Layer. However, my question around clean handling of data from the server to the client remained unanswered. First, it is important to note that I leveraged the Errors extension class on my model state on the server to avoid manually dealing with the errors collection every time: So let’s start after you have implemented server validation in your service layer (from the above article) and the Errors extension object. Now you want to return your Errors collection to the client from your WEB API Controller. The scenario I am working with is checking for a duplicate user. Here is the code:

Notice the syntax in Request.CreateResponse method passing back a UserID if successful, or Errors if it fails. Now let’s move over to the AJAX proxy classes on the client side
We parse the responseText to a JSON object in order to reference data. Now you can just reference your Errors or UserID by the variable name created on the server and loop through as such:
 Hopefully this is helpful, took a couple hours of my time hunting around for the answer.
Michael Brown is the co-founder and CEO of Affirma Consulting LLC.
Affirma Consulting is an award-winning consultancy specializing in .NET Development, ASP.NET MVC Development and Staffing Services.
Connect with us on: 
|
| BY: JEREMY TUCKER
Don’t get too excited just yet. Changes have been made, but for the majority of Office 365 users, these changes are pretty anti-climactic. The changes now, however, should lead to big things in the coming months.
First off, you can now disable and uninstall the DirSync tool. As stated, this is not likely going to excite too many people, but there are instances where this is desirable. For example, your organization decides to eliminate Active Directory, your IT team finds the inability to manage users from the web portal problematic or for some reason, DirSync is no longer running.
The steps leading up to disabling DirSync are the same as enabling it. Login to the portal, click on Users, then at the top, you’ll see the line regarding Active Directory Synchronization.
By clicking on “Deactivate” you’ll get a message alerting you to a couple of things:
Before you deactive Active Directory synchronization, consider the following:
-Deactivating directory synchronization will take up to 72 hours to complete
-During the deactivation process, changes made to objects in your organization's on premises Active Directory will not be synchronized
Note: Do not deactivate directory synchronization to block a user from accessing Microsoft Office 365 services. To block a user, go to the Users page, select the user you want to block, and change their sign-in status on their "Settings" page.
After confirming, you can then uninstall your DirSync tool!
The other change is there is now a 64-bit version of the tool. Currently this just means that it can be installed on a 64-bit machine. Outside of that, there are no other functional changes. However, the underlying schema has now changed, so a simple upgrade will not do the trick. Microsoft has laid out all the steps here.
In the meantime, install which ever version of DirSync that meets your current business needs, but always keep a mindful eye on the future. If you’ve got a 64-bit server that is not a domain controller an ADFS machine, then go the 64-bit route. And remember, you can always deactivate it!
Click here to get your Office 365 Trial!
Affirma Consulting is an award-winning consultancy specializing in SharePoint Consulting and Business Analysis Consulting.
Connect with us on:
|
| This is the first video showing Bing Maps API integration with the Kinect. Affirma's R&D Team has been hard at work on this project and is continuing to create new ways for people to interact and engage with traditional models.
Please Click Below to Share with Friends!
|
| BY: JEREMY TUCKER
A lot of times it’s not always feasible for a room mailbox, or other type of resource mailbox to auto-accept meetings. Or perhaps there is a shared mailbox that many users need access to. Adding these accounts to Outlook 2010 is quite simple.
1. From Outlook 2010, click on the File tab in the top left of the window
2. Click on the Info tab on the left side of the window
3. Click on Account Settings, then Account Settings again.

4. Click on the E-mail tab and the Change button
5. Click on More Settings in the bottom right of the window
6. Click on the Advanced tab, then the Add button
7. Add the name of the Shared Mailbox or Resource Mailbox
8. Click OK and Apply and Next, then Finish
You’re now able to access the mailbox from the navigation bar of Outlook!
Affirma Consulting is an award-winning consultancy specializing in SharePoint Consulting and Business Analysis Consulting.
Connect with us on:
|
| BY: SARAH GREENBERG
Finding a legitimate SEO firm can be like searching for a needle in a haystack. When choosing an SEO company you will likely have to weed through numerous empty promises to find someone you really trust to handle your company’s website. Search engine optimization is an incredibly efficient way to gain massive ROI, but keep in mind that your entire website can be jeopardized by a SEO scam artist. Given that improper implementations of SEO tactics can get your website blacklisted by Google, it is wise to use considerable caution when picking an SEO firm.
Doing a quick search on Google for SEO companies yields an extensive list that is likely to leave your head spinning. For your own personal benefit, you should have a basic understanding of what SEO entails before you decide to engage with an external SEO agency. Some background knowledge of SEO can help you to formulate your goals or strategy when hiring a SEO firm, and will prevent you from being duped by black hat spammers promising you the sun and the moon. Good SEO is not some miraculous trick shrouded in secrecy, it is not a quick fix to all your website’s problems, and good SEO companies never guarantee #1 rankings on Google.
To help you on your quest to find the best SEO agency, Affirma Consulting has compiled some tips to steer you in the right direction as well as a chart that differentiates Good from Bad SEO practices.
1. Develop a list of goals you wish to accomplish when engaging with an SEO firm. Some realistic outcomes include:
- Keyword research
- Maximize website traffic
- Improve your brand
- Train marketers or content builders around how to build and promote your site
- Resolve specific issues with your site that need immediate attention
- Develop optimized content
- Technical advice on hosting, redirects, error pages
- Website audit to make sure you are following best practices
- An effective site redesign
- The planning of a new site launch
- Sometimes the SEO company might have a better idea of what you need than you do. Don't be afraid to ask their opinion.
2. Search for SEO companies online. Although it may seem intuitive that companies listed on the first page of Google results are great at SEO, there is a good chance that these rankings may be deceiving.
- Dig deep within Google search results to find out more about each company. Type “company name” into Google and look for reviews, testimonials, references, articles, and affiliations.
- If you have any doubts about the legitimacy of a company, again try typing their name into Google, followed by one of these phrases: scam, rip off, or complaint. There are several websites that will show you all of the negative reviews that a SEO company doesn’t want you to see.
- Stay away from “best SEO” or “top SEO” directories. Most of the lists you will find in the first few pages of Google are actually paid advertisements.
- Depending on the size of your business, you might want to look for a local SEO company. Arguably, you can put more trust in a local SEO company because you have the option to sit down with them face to face.
3. Ask your social network for advice. Chances are that many of your friends and colleagues have had to enlist the help of an SEO firm. Ask your SEO-savvy connections for recommendations based on your specific SEO goals.
4. Narrow down your list of potential SEO companies. Talk on the phone to your top contenders, or if possible, meet with them in person. If you find yourself feeling overwhelmed by high-pressure sales tactics or annoying follow-up phone calls, it is likely a bad sign. If you can, get in touch with the company’s SEO strategist, not a sales agent. It is important for you to like talking to this person since you will be communicating with them frequently.
5. Once you have narrowed down your list, ask questions. Lots of them.
- Can you show me examples of your previous work and share some success stories
- Do you follow Google Webmaster guidelines?
- What kind of results do you expect to see, and in what timeframe?
- What’s your experience in my industry? In my city/state/country?
- What are your most important SEO techniques?
- How long have you been in business?
- Will you conduct an analysis of my site’s design, coding, content, and incoming links?
- Will you analyze my competitors’ sites to determine what sites in my industry are performing well and why?
- Do you have a link strategy for my site and the ability to promote my content on 3rd party sites?
- Will I be receiving regular reports to monitor the SEO campaign?
- What happens if our relationship is dissolved? How sustainable are your methods?
6. Compare prices. Get quotes from multiple agencies, but understand that pricing fluctuates greatly for SEO services. Given the huge ROI on SEO services, you should expect to spend a good bit of money to get a qualified SEO expert. For reference, SEOmoz has created a list of popular SEO pricing models-- http://www.seomoz.org/blog/seo-pricing-costs-what-should-you-charge-how-much-should-you-pay
7. Do some pre-strategizing. Once you have found your holy grail SEO vendor, discuss your initial concerns and goals with them. It might be helpful for you to prepare a list of top 10 keywords you would like your website to rank highly for. Talk about any problems you are currently facing and ask them about initial strategy. This will help you to develop trust in your SEO expert’s knowledge and should yield some insight as to how they solve problems.
8. Go with your gut. If your instincts are telling you that a certain SEO vendor is too good to be true, then take your business elsewhere.

Sarah Greenberg is the Marketing and Communication Coordinator at Affirma Consulting LLC.
Affirma Consulting is an award-winning consultancy specializing in SharePoint Consulting and Northwest Staffing Services
Connect with us on:
|
| When working with Microsoft CRM Online, I ran into a strange error when updating Charts to work with Option Sets. This works, but Microsoft CRM Online does not update the Chart XML correctly, so you have to do it yourself.
If you get the following error 'The chart definition is invalid as it does not specify an order node for the count attribute', follow these steps:
1. Navigate to Charts in Settings
Click Settings in the bottom left
Click on Customizations in the left navigation
Click on Customize the System
Expand Entities in the Popup
Expand the Specific Entity you want to modify
Click on Charts
2. Export the Chart XML
Select the chart you want to modify and select More Actions > Export Chart. Save the Chart XML to your machine and open in an editor.

3. Modify Chart XML
Set the name and alias of the attributes below to the name and alias of the Option Set field associated to the entity. You can find the name and alias information under the Entity Node by clicking on Fields. Modify the file and save changes.

4. Import Chart XML Back into CRM
After the file is saved, go back to the Chart Interface and select More Actions > Import Chart. Import the Chart and overwrite the existing chart or create a new one. The Option Set will work and you have a functional Chart!

Voila! That is it. Hopefully this is helpful, gave us the data we needed.
|
|

Microsoft Lync Online transforms the way we communicate by improving productivity and enhancing collaboration with Office 365 products. Lync enables colleagues, customers, and partners to communicate more effectively and efficiently by delivering complete presence with instant messaging, audio, video, screen sharing, and rich virtual white-boarding capabilities.
Michael Brown, CEO of Affirma Consulting, walks you through the basic features of Lync Online, part of the Office 365 suite, in this brief video demonstration.

A Quick Rundown of Lync Benefits:
Say goodbye to games of phone tag. Intelligent presence detection and integration with Microsoft Office products enables users to engage in online meetings with the click of a button.
- Respond to emails more effectively by replying with an instant message or an audio call. Stop waiting for replies to your emails; resolve your issues as they arise.
- Say hello to real-time collaboration. Lync allows you to move seamlessly between instant messaging to an online meeting with audio, video, and screen sharing capabilities.
- Easily join meetings from anywhere. Lync Online provides users the ability to join Lync meetings from any phone by utilizing dial-in audio conferencing.
- Lync federation allows you to communicate with external organizations running Lync via IM, audio, and video.
- Save money. Reduce travel costs, long-distance charges, and 3rd party conferencing fees associated with traditional means of communicating with customers, partners, and employees.
|
| BY: MICHAEL BROWN, CEO & SARAH GREENBERG
 Many successful business leaders attribute topgrading as a pivotal component of their company’s growth. Jack Welch, former CEO of General Electric, is an outspoken proponent of topgrading principles. His success with driving GE to become a “talent generating machine” has sparked tremendous interest in topgrading. We have found that many companies struggle with initiating their own topgrading campaign due to the varying nuances of topgrading principles.
As a general concept, topgrading is intuitive, but the finer points of topgrading can leave management with feelings of discomfort and confusion. One of these core scenarios is what happens when your B+ players are consistently on the line. If you have read "Topgrading," the process is described as a black and white, but when dealing with people there are always shades of gray.
What exactly constitutes an A-player? An A-player is someone “who qualifies among the top 10% of those available (willing to accept the job offer) for a position,” they are “the best in class” at any compensation level. Topgrading does not necessarily mean that you must fire every B player in your company; however, if you currently have less than 90% A-player employees, then you will likely engage in a painful, uphill battle.
Bradford D. Smart, author of "Topgrading," advocates that all topgrading companies should strive to hire 90% A-players, promote 90% A-Players, and eventually achieve 90% A-players in management. So what does this mean for your B, or even C players, if only 10% of them can remain in your company?
Dr. Smart argues that you have a few options when it comes to dealing with your chronic B's and C's:
1. Give them a fair, but brief, chance to become an A-player. Offer them extensive training and coaching, decrease their pay until performance improves, restructure their jobs so the B/C's can perform like A's, or redeploy them internally to a position where they will become an A-player. If after 6 months you cannot see an improvement in performance, you must choose the more difficult course of action.
2. Force your B or C to resign. This is not necessarily “firing” your employee, but forcing them to resign in exchange for a severance agreement. This allows the employee to save face and dignity, and gives them the option to say, “I resigned” or “The decision was mutual,” in the future. Smart also encourages helping these average performers to find external placement.
To many managers and executives, these rigid guidelines for handling less-than-star-performers seem incredibly inflexible and cold-hearted. Topgrading thrusts managers into an uncomfortable gray area, with few answers to the difficult questions.
- How can you replace a B-player that is essential to your company’s culture?
- What about employees who received coaching/training and are at the absolute brink of becoming an A-performer, but just can’t make it beyond B+ performance?
- Can B+ players be healthy for your company in different roles?
- Is there a guarantee that you can replace all of your B+ players with A-talent, especially in a highly competitive market for talent?
- Should lifestyle companies approach topgrading differently than aggressive growth companies?
Although Dr. Smart encourages us to rid our companies of B’s and C’s forever, saying that “protecting incompetent people is corporate suicide,” he does not adequately explain how doing so may impact culture. If there are certain chronic B players that are pivotal to the culture of your company, perhaps you would be better off interpreting the “90% A-players” as nothing more than an arbitrary number. Could your company still maintain a competitive advantage with 80% A’s, or even 90% of employees performing among the top 15% available? Percentiles seem to convolute the real issue here, a B or C player is one that is overpaid and/or under-performs. Perhaps a reinterpretation of what it means to be a B player is needed in order to clarify the gray area, and encourage a more widespread adoption of topgrading.
When drawing the line between B and A players, Charles Bender, President of Biz IT Pros, emphasizes the importance of culture, “My advice to anyone trying to implement Topgrading is to first know what an A player looks like in your corporate culture. I found that most of my B’s were A’s in job talent and D’s in culture fit.
“My feeling is that topgrading existing employees is like First Aid. You must stop the bleeding of productivity first then move on to the higher level of expectation. When topgrading my business, I created the scorecards for each position, including the deliverables that reflected not only the needs of the job, but also the expectations of our culture. It is my belief that culture is what creates an environment to allow A players to succeed,” explains Bender.
We invite you to share your own experiences with topgrading. How has your company dealt with borderline A/B employees? When does topgrading make the most sense? What were your most difficult challenges while topgrading? What is preventing you from topgrading your company?
Michael Brown is the co-founder and CEO of Affirma Consulting LLC.
Sarah Greenberg is the Marketing and Communication Coordinator at Affirma Consulting LLC.
Affirma Consulting is an award-winning consultancy specializing in SharePoint Consulting and Northwest Staffing Services
Connect with us on:
|
| BY: JEREMY TUCKER
In the world of Office 365, the term “federation” is used a lot, and often times, used with different meanings. So what is it, with regards to Lync?
Lync Federation allows your organization to use Lync not only internally, but with other organizations as well or gives you the freedom to block certain domains. You are also given the option to allow “Public IMs,” that is, users that don’t have a Lync account. Currently that is limited to those with Windows Live IDs (WLIDs) which all Office 365 accounts, but there are some limitations such as losing the ability to audio or video conference and share desktops. Also, if your enterprise utilizes multiple domains and you want everyone to be able to communicate, you’ll need to federate them all. From the Admin control panel, select “Manage” under the Lync Online heading.

As you can see, we’ve already enabled both features. Enable your Domain Federation on this page as a first step. Next click on the “Domain federation” tab, then next to “Domain federation status” click the edit button.
 From here, you’ll chose to either Allow or Block the specified domains. From a security perspective, we generally setup Blog federation with all domains except those I allow. Next you need to add domains to meet your requirements.
Pretty easy, right? Well we’re not done yet. Now the tricky stuff…updating your DNS records. Back at the Admin Control Panel, under “Management” select “Domains.” Select your primary domain and select “Troubleshoot domain.” Select the last option and “Next”  This gives you all the information you’re missing in order to update your DNS record and get Lync to work. Add the Microsoft Lync SRV (Service) DNS records. They will take a litttle time to propogate. Some DNS interfaces don't show SRV records by default, so you may need to change settings with your DNS provider. Once complete, the screen should look like this:

You have now successfully enabled your Lync to allow for federation. The final step is to have other companies add you to their federation list and you add them to your domain allowed list. That’s it!
Jeremy Tucker is a Cloud Consulting Practice Lead at Affirma Consulting. Find out more about Affirma Consulting and our Office 365 Consulting. |
View in Web Browser /blog/_layouts/VisioWebAccess/VisioWebAccess.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 0x0 0x1 FileType vdw 255 Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /blog/_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /blog/_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /blog/_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /blog/_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /blog/_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /blog/_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /blog/_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /blog/_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /blog/_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /blog/_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 Compliance Details javascript:commonShowModalDialog('{SiteUrl}/_layouts/itemexpiration.aspx?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/hold.aspx?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/Reporting.aspx?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/expirationconfig.aspx?ID={ItemId}&List={ListId}'); return false;}}, null); return false; 0x0 0x1 ContentType 0x01 898 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 FileType xsn 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.2 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.3 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.4 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsx 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsm 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsb 255 |
|
|
|
|
Welcome to the Affirma Consulting Blog. We are an award-winning consultancy specializing in Mobile, Cloud, Business Intelligence, SharePoint, Custom Development & Visual Design |
|
View in Web Browser /blog/_layouts/VisioWebAccess/VisioWebAccess.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 0x0 0x1 FileType vdw 255 Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /blog/_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /blog/_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /blog/_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /blog/_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /blog/_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /blog/_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /blog/_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /blog/_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /blog/_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /blog/_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 Compliance Details javascript:commonShowModalDialog('{SiteUrl}/_layouts/itemexpiration.aspx?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/hold.aspx?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/Reporting.aspx?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/expirationconfig.aspx?ID={ItemId}&List={ListId}'); return false;}}, null); return false; 0x0 0x1 ContentType 0x01 898 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 FileType xsn 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.2 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.3 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.4 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsx 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsm 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsb 255 |
|
View in Web Browser /blog/_layouts/VisioWebAccess/VisioWebAccess.aspx?listguid={ListId}&itemid={ItemId}&DefaultItemOpen=1 0x0 0x1 FileType vdw 255 Manage Subscriptions /_layouts/images/ReportServer/Manage_Subscription.gif /blog/_layouts/ReportServer/ManageSubscriptions.aspx?list={ListId}&ID={ItemId} 0x80 0x0 FileType rdl 350 Manage Data Sources /blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 351 Manage Shared Datasets /blog/_layouts/ReportServer/DatasetList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rdl 352 Manage Parameters /blog/_layouts/ReportServer/ParameterList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 353 Manage Processing Options /blog/_layouts/ReportServer/ReportExecution.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 354 Manage Cache Refresh Plans /blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 355 View Report History /blog/_layouts/ReportServer/ReportHistory.aspx?list={ListId}&ID={ItemId} 0x0 0x40 FileType rdl 356 View Dependent Items /blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 350 Edit Data Source Definition /blog/_layouts/ReportServer/SharedDataSource.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsds 351 View Dependent Items /blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 350 Manage Clickthrough Reports /blog/_layouts/ReportServer/ModelClickThrough.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 352 Manage Model Item Security /blog/_layouts/ReportServer/ModelItemSecurity.aspx?list={ListId}&ID={ItemId} 0x0 0x2000000 FileType smdl 353 Regenerate Model /blog/_layouts/ReportServer/GenerateModel.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType smdl 354 Manage Data Sources /blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType smdl 351 Load in Report Builder /blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderModelContext&list={ListId}&ID={ItemId} 0x0 0x2 FileType smdl 250 Edit in Report Builder /_layouts/images/ReportServer/EditReport.gif /blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderReportContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rdl 250 Edit in Report Builder /blog/_layouts/ReportServer/RSAction.aspx?RSAction=ReportBuilderDatasetContext&list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 250 Manage Caching Options /blog/_layouts/ReportServer/DatasetCachingOptions.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 350 Manage Cache Refresh Plans /blog/_layouts/ReportServer/CacheRefreshPlanList.aspx?list={ListId}&ID={ItemId}&IsDataset=true 0x0 0x4 FileType rsd 351 Manage Data Sources /blog/_layouts/ReportServer/DataSourceList.aspx?list={ListId}&ID={ItemId} 0x0 0x20 FileType rsd 352 View Dependent Items /blog/_layouts/ReportServer/DependentItems.aspx?list={ListId}&ID={ItemId} 0x0 0x4 FileType rsd 353 Compliance Details javascript:commonShowModalDialog('{SiteUrl}/_layouts/itemexpiration.aspx?ID={ItemId}&List={ListId}', 'center:1;dialogHeight:500px;dialogWidth:500px;resizable:yes;status:no;location:no;menubar:no;help:no', function GotoPageAfterClose(pageid){if(pageid == 'hold') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/hold.aspx?ID={ItemId}&List={ListId}'); return false;} if(pageid == 'audit') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/Reporting.aspx?Category=Auditing&backtype=item&ID={ItemId}&List={ListId}'); return false;} if(pageid == 'config') {STSNavigate(unescape(decodeURI('{SiteUrl}'))+'/_layouts/expirationconfig.aspx?ID={ItemId}&List={ListId}'); return false;}}, null); return false; 0x0 0x1 ContentType 0x01 898 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XsnLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 FileType xsn 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.2 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.3 255 Edit in Browser /_layouts/images/icxddoc.gif /blog/_layouts/formserver.aspx?XmlLocation={ItemUrl}&OpenIn=Browser&Source={Source} 0x0 0x1 ProgId InfoPath.Document.4 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsx 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsm 255 View in Browser /blog/_layouts/xlviewer.aspx?id={ItemUrl}&DefaultItemOpen=1 0x0 0x1 FileType xlsb 255 |
|

Joel Wetzel

Jeremy Tucker

Michael Brown

Mark Mason

Ryan Hoffman

Sarah Greenberg
|