SPInvoice Explained: USP Journal Volume 2 Issue 6
()
About this ebook
In this issue, you’ll learn advanced SharePoint development concepts such as
- Building solutions that upgrade across SharePoint versions
- Understanding custom configuration options in SharePoint
- Developing advanced user experiences with delegate controls and state management
- Building rapid taxonomy solutions
- Creating advanced user interfaces using jQuery and SPServices
In addition to these concepts, SPInvoice Explained covers supporting techniques such as
- Solution structure and organization
- Property bags and other configuration features
- Configuring features and solutions with feature receivers
- ASP.NET development, including custom controls and in-line code
- Migrating traditional HTML layout to SharePoint
SPInvoice Explained is targeted at experienced SharePoint developers. New developers should seek beginning SharePoint development topics in other issues before purchasing this issue.
Bjørn Furuknap
I do SharePoint.
Related to SPInvoice Explained
Related ebooks
Diary of a Software Craftsman Rating: 5 out of 5 stars5/5Pro Microsoft Teams Development: A Hands-on Guide to Building Custom Solutions for the Teams Platform Rating: 0 out of 5 stars0 ratings200 Erp Questions: The Most Important Things To Think About When Considering Microsoft Dynamics 365 Business Central Rating: 0 out of 5 stars0 ratingsPro Office 365 Development Rating: 0 out of 5 stars0 ratingsNo Mistakes Writing, Volume I: Writing Shortcuts Rating: 0 out of 5 stars0 ratingsWeb Form Design: Filling in the Blanks Rating: 5 out of 5 stars5/5Beginning Office 365 Collaboration Apps: Working in the Microsoft Cloud Rating: 0 out of 5 stars0 ratingsDesign a Logo - 7 Step Process Rating: 3 out of 5 stars3/5Confident Programmer Problem Solver: Six Steps Programming Students Can Take to Solve Coding Problems Rating: 0 out of 5 stars0 ratingsDAX Patterns: Second Edition Rating: 5 out of 5 stars5/5Ubuntu Single Sign On Second Edition Rating: 0 out of 5 stars0 ratingsImplementing Computer Systems for Small & Medium Businesses Rating: 0 out of 5 stars0 ratingsDevOps Handbook: What is DevOps, Why You Need it and How to Transform Your Business with DevOps Practices Rating: 4 out of 5 stars4/5Learn How to Boost Your Productivity: Use These Apps for Higher Efficiency Rating: 0 out of 5 stars0 ratingsSoftware Development Mastery Rating: 0 out of 5 stars0 ratingsInvestigating Performance: Design and Outcomes With Xapi Rating: 0 out of 5 stars0 ratingsMicrosoft SharePoint 2016 A Complete Guide - 2020 Edition Rating: 0 out of 5 stars0 ratingsBlameless Continuous Integration: A Small Step Towards Psychological Safety of Agile Teams Rating: 0 out of 5 stars0 ratingsUbuntu Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsTechnical Writing for Software User Documentation Rating: 4 out of 5 stars4/5OneNote 2016: Up To Speed Rating: 0 out of 5 stars0 ratingsKanban Fundamentals How To Become Insanely Productive Rating: 0 out of 5 stars0 ratingsHow to Write a Technical Manual Fast Rating: 5 out of 5 stars5/5Quick Outlook Rating: 0 out of 5 stars0 ratingsPoppulo A Complete Guide - 2019 Edition Rating: 0 out of 5 stars0 ratingsBeginning SharePoint 2013 Development Rating: 0 out of 5 stars0 ratingsHow to Build a SaaS Business: A Step-by-Step Guide to Starting and Operating a Software Company Rating: 4 out of 5 stars4/5Oracle Digital Assistant: A Guide to Enterprise-Grade Chatbots Rating: 0 out of 5 stars0 ratings
Internet & Web For You
The Logo Brainstorm Book: A Comprehensive Guide for Exploring Design Directions Rating: 4 out of 5 stars4/5Introduction to Internet Scams and Fraud: Credit Card Theft, Work-At-Home Scams and Lottery Scams Rating: 4 out of 5 stars4/5More Porn - Faster!: 50 Tips & Tools for Faster and More Efficient Porn Browsing Rating: 3 out of 5 stars3/5Cybersecurity For Dummies Rating: 4 out of 5 stars4/5The $1,000,000 Web Designer Guide: A Practical Guide for Wealth and Freedom as an Online Freelancer Rating: 5 out of 5 stars5/5Grokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Coding For Dummies Rating: 5 out of 5 stars5/5Hacking : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Ethical Hacking Rating: 5 out of 5 stars5/5The Digital Marketing Handbook: A Step-By-Step Guide to Creating Websites That Sell Rating: 5 out of 5 stars5/5Beginner's Guide To Starting An Etsy Print-On-Demand Shop Rating: 0 out of 5 stars0 ratingsTor and the Dark Art of Anonymity Rating: 5 out of 5 stars5/5The Cyber Attack Survival Manual: Tools for Surviving Everything from Identity Theft to the Digital Apocalypse Rating: 0 out of 5 stars0 ratingsGet Rich or Lie Trying: Ambition and Deceit in the New Influencer Economy Rating: 0 out of 5 stars0 ratingsSEO For Dummies Rating: 4 out of 5 stars4/5Wireless Hacking 101 Rating: 4 out of 5 stars4/5200+ Ways to Protect Your Privacy: Simple Ways to Prevent Hacks and Protect Your Privacy--On and Offline Rating: 0 out of 5 stars0 ratingsHow To Make Money Blogging: How I Replaced My Day-Job With My Blog and How You Can Start A Blog Today Rating: 4 out of 5 stars4/5The Internet Is Not What You Think It Is: A History, a Philosophy, a Warning Rating: 4 out of 5 stars4/5The Beginner's Affiliate Marketing Blueprint Rating: 4 out of 5 stars4/5Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Rating: 4 out of 5 stars4/5Podcasting For Dummies Rating: 4 out of 5 stars4/5Social Engineering: The Science of Human Hacking Rating: 3 out of 5 stars3/5Six Figure Blogging Blueprint Rating: 5 out of 5 stars5/5How To Start A Podcast Rating: 4 out of 5 stars4/5
Reviews for SPInvoice Explained
0 ratings0 reviews
Book preview
SPInvoice Explained - Bjørn Furuknap
SPInvoice Explained
USP Journal Volume 2, Issue 6
Bjørn Christoffer Aulie Thorsmæhlum Furuknap
Published by USP Journal.
.
Smashwords Edition
Copyright 2013 Bjørn Christoffer Aulie Thorsmæhlum Furuknap
License Notes: This ebook is licensed for your personal enjoyment only. This ebook may not be re-sold or given away to other people. If you would like to share this ebook with another person, please purchase an additional copy for each person you share it with. If you’re reading this book and did not purchase it, or it was not purchased for your use only, then you should return to Smashwords.com and purchase your own copy. Thank you for respecting the hard work of this author.
Ebook formatting by www.ebooklaunch.com
Table of Contents
About the Author
Introduction
Chapter 1: Problem Understanding
Chapter 2: Solution Design and Development Methods
Chapter 3: Configuration and State Management
Chapter 4: Taxonomy
Chapter 5: User Interface
Chapter 6: Further Exploration
Final Thoughts
Discover other issues of USP Journal at http://uspjournal.com/
I dedicate this issue to my lovely wife, Lena.
Credits
About the Author
Bjørn Christoffer Thorsmæhlum Furuknap is a senior solutions architect, published author of Building the SharePoint User Experience, speaker, and passionate SharePointaholic. He has been doing software development professionally since 1993 for small companies as well as multinational corporations. He has also been a teacher at a college-level school, teaching programming and development to aspiring students, a job that inspired him to begin teaching what he has learned and learns every day.
About Understanding SharePoint Journal
Understanding SharePoint Journal is a periodical published by UnderstandingSharePoint.com. The journal covers few topics in each issue, focusing to teach a deeper understanding of each topic while showing how to use SharePoint in real-life scenarios.
You can read more about USP Journal, as well as get other issues and sign up for regular updates, discounts, and previews of upcoming issues, at http://www.uspjournal.com/.
Other Credits
A great big thanks to Kim Wimpsett for doing the copyedit. The quality of work in this issue is greatly attributed to her skill.
Introduction
Asking the right question at the right time to the right people can trigger a landslide.
Welcome to this issue of USP Journal.
Throughout the next roughly 100 pages, I’ll take you on a journey of advanced SharePoint development as we explore the SPInvoice solution available on CodePlex.
I say advanced not because the solution is complex but because it uses several advanced techniques to create a somewhat different SharePoint solution. You’ll see what I mean when you see the user interfaces, for example, and how the solution works to create a different and ideally more compelling user experience.
In this issue, you won’t find detailed step-by-step instructions. Instead, you should have available the source code for the solution so you can look at and replicate the code yourself. I will point to the code and even show you some of it in the issue, but I’m not covering every little detail of it.
In fact, I’m assuming you’re fairly confident as a SharePoint developer already and you know and have built several solutions in your career. I won’t hold your hand but instead guide you through the more advanced concepts by explaining what the code does, why it does it, and why some of the alternate approaches may be less desirable.
If you haven’t picked up the solution already, you should do so right now because it will make it much easier to follow along. If you are reading this issue on a tablet or other reading device and don’t have the ability to see the code, I’ve tried to include the most relevant parts.
http://spinvoice.codeplex.com/
The solution we are building is not a production-ready solution. Although the solution does what it says on the tin, which is to create invoices in SharePoint, if you want to use it in a production environment, you may want to improve several aspects of it. I’ll point out some of these toward the end of the issue, though, but keep in mind that SPInvoices is designed as a learning solution.
With that disclaimer out of the way, let’s jump in and test the water!
Chapter 1
Problem Understanding
What are we trying to accomplish?
In this USP Journal issue, we will look closer at developing solutions for SharePoint in the third tier. We will do this by exploring a purpose-built solution called SPInvoice, which is an invoicing solution designed as a learning application.
Note
The solution is available at http://spinvoice.codeplex.com/.
What Will SPInvoice Do?
SPInvoice is a solution that allows users to create invoices for any product or products. It’s a simple proposition really but one that affords a range of challenges that will allow us to learn plenty of development methodologies.
I have chosen an invoicing solution because I want to focus not on the complexities of understanding the solution but rather on how to build solutions in SharePoint. This will give us more time to focus on great user experiences, or at least the tools necessary to build them, as well as a better understanding of the nuances of SharePoint and how to build stable and reliable solutions.
To users, the experience will be that they have a list of invoices in which they can add new invoices. After filling in some basic information, which we will ask from users immediately after activating our solution (see Figure 1), the rest of the invoice management will be done in an interface that exactly represents the invoice, as shown in Figure 2.
FIGURE 1. ASKING A USER FOR BASIC CONFIGURATION
FIGURE 2. EDITABLE INVOICE INTERFACE
I said that users should edit their invoices directly on the invoice. In this issue, I will limit this interaction to adding, deleting, and editing rows and not catching all the updates users do to the addresses, amounts paid, due dates, and so on.
Users will still be able to print or email their invoices, but to avoid complexity, I’ll skip storing all the data to SharePoint. Besides, once we have SPServices in place to add new rows, it is a fairly simple matter to add two-way interaction between SharePoint and the invoice, and I’ll leave that as an exercise for you.
This is a simple enough setup, but don’t let the apparent simplicity trick you. We need to deal with a number of challenges in order to make our solution work.
For example, I want to force users to enter the configuration data before they are allowed to access the invoice. This ensures that users get a complete invoice without missing sections, such as the company name or the tax rate. I also want to show users a special message the first time they activate the solution in order to welcome them and maybe show them a video or instructive text.
Scenarios like these require a lot of planning in any development framework but more so in SharePoint because of SharePoint’s sometimes peculiar rules regarding how we store and access information. I’ll focus more on this later in this issue.
Third-Tier Development
The third tier of SharePoint development, in case you do not know, revolves around building WSP files using tools such as Visual Studio. This is in contrast to the first and middle tiers where you primarily utilize the web interface and external but SharePoint-oriented tools such as SharePoint Designer.
As third-tier developers, we hold a great deal more power than developers of the other tiers. However, with that power also comes far more responsibility. Where in the first and middle tiers, we can to a greater extent rely on the tools to provide safety and best practices for us, in the third tier, we are given the full burden of maintaining best practices, preventing errors, and encouraging scalability.
As such, it is vitally important for us to develop and understand various methods for achieving a goal. We need to understand the pitfalls and potential of everything we do. We need to know how to best harness SharePoint functionality and afford our users a flexible and easy-to-use environment. We need to be the guardians of functionality, safety, and scalability.
If we rise to this challenge, however, the power trusted in us is without equal in the world of SharePoint. We alone have the full arsenal of tools to accomplish anything that SharePoint can do. Where other tiers are limited in either what they are allowed to do or what they practically can do, we face no such limitations. We alone can answer yes
to any question about whether SharePoint can accomplish something, and we are able to accomplish it using the tools at our disposal.
In this first chapter of SPInvoice Explained,
I will focus on exploring general challenges of solution development in the third tier. I will further elaborate on how we can overcome these challenges. I will also outline the solution that we will build as part of this issue.
However, it is important for you to understand what you will learn