SharePoint developers regularly face the decision, where do I put my application’s data? Sometimes this is an easy choice, using SharePoint Lists, or a SQL Server Database, but often a better solution exists. Or at least knowing that alternatives exist is beneficial, and further knowing when to use them. There are actually many storage options that both ASP.NET and SharePoint (along with modern browsers, HTML5, JavaScript) offer. This session will discuss many of these choices with best practices in mind along with live demonstrations. Examples include SharePoint Lists, Secure Store, property bags, persisted objects, Linq (to SQL, Entity, and SharePoint), web part properties, serialization options (to/from JSON and XML), session state, viewstate, httpruntime, application state, and thread bag. Also, client side storage examples will be introduced using modern HTML5 and JavaScript techniques. Further, free 3rd party products will be introduced that can be employed. Applies to all modern versions of SharePoint including 2013.
This document provides an overview and summary of key concepts related to advanced databases. It discusses relational databases including MySQL, SQL, transactions, and ODBC. It also covers database topics like triggers, indexes, and NoSQL databases. Alternative database systems like graph databases, triplestores, and linked data are introduced. Web services, XML, and data journalism are also briefly summarized. The document provides definitions and examples of these technical database terms and concepts.
This document provides an overview of using Hibernate, an object-relational mapping tool, to connect XPages applications to relational databases. It discusses the benefits of using relational databases and Hibernate over the Domino API. The document outlines Hibernate concepts like entities, configuration, querying, and mapping objects to tables. It also provides instructions for downloading and installing Hibernate and adding it to a Domino application. The presenter encourages using proven libraries and tools to make development easier.
ADF Mobile: 10 Things you don't get from the developers guideLuc Bors
Real Life ADF Mobile: 10 things you don't learn from the devguide
Oracle ADF Mobile has been around for over a year by now. There is a great developer guide available for everybody who wants to create an ADF Mobile application. However, when you are building your first ADF Mobile application you will definitely run into issues that cannot be solved by reading the developer guide.
Think of performance issues when taking pictures with modern devices. Images can take up to 5 Megabytes. What can you do to create a grid like springboard ? These are all topics not covered by the developer guide or by any available ADF mobile training.
In this session you will learn solutions for these and more real life ADF Mobile issues.
This document discusses SQL Server backup and recovery best practices. It begins with an introduction by Tobiasz Janusz Koprowski on his background and experience. The agenda then outlines parts on introduction to backup options, demonstrations of backup in the cloud and on-premise, and best practices. It covers topics like understanding different cloud service models, security requirements for Azure, and non-compatible features between SQL Server versions and SQL Azure. It also demonstrates connecting to and backing up databases in SQL Azure and on-premise SQL Server.
AMIS organiseerde op maandagavond 15 juli het seminar ‘Oracle database 12c revealed’. Deze avond bood AMIS Oracle professionals de eerste mogelijkheid om de vernieuwingen in Oracle database 12c in actie te zien! De AMIS specialisten die meer dan een jaar bèta testen hebben uitgevoerd lieten zien wat er nieuw is en hoe we dat de komende jaren gaan inzetten!
Deze presentatie is deze avond gegeven als een plenaire sessie!
This document discusses Microsoft Azure, a cloud computing platform. It provides an overview of Azure's capabilities including infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). It highlights key Azure services such as virtual machines, SQL database, web apps, machine learning, and more. The document also discusses how Azure enables businesses to rapidly setup environments, scale infrastructure, and increase efficiency at a lower cost compared to on-premises solutions.
This document discusses various tools from ApexSQL that are available for free. It provides descriptions of ApexSQL Complete, an add-in that improves SQL coding productivity in Visual Studio and SSMS, ApexSQL Refactor for formatting and refactoring SQL code, and ApexSQL Search for finding SQL objects. It also gives an overview of ApexSQL's licensing and demos some of the tools.
This document provides an overview and summary of key concepts related to advanced databases. It discusses relational databases including MySQL, SQL, transactions, and ODBC. It also covers database topics like triggers, indexes, and NoSQL databases. Alternative database systems like graph databases, triplestores, and linked data are introduced. Web services, XML, and data journalism are also briefly summarized. The document provides definitions and examples of these technical database terms and concepts.
This document provides an overview of using Hibernate, an object-relational mapping tool, to connect XPages applications to relational databases. It discusses the benefits of using relational databases and Hibernate over the Domino API. The document outlines Hibernate concepts like entities, configuration, querying, and mapping objects to tables. It also provides instructions for downloading and installing Hibernate and adding it to a Domino application. The presenter encourages using proven libraries and tools to make development easier.
ADF Mobile: 10 Things you don't get from the developers guideLuc Bors
Real Life ADF Mobile: 10 things you don't learn from the devguide
Oracle ADF Mobile has been around for over a year by now. There is a great developer guide available for everybody who wants to create an ADF Mobile application. However, when you are building your first ADF Mobile application you will definitely run into issues that cannot be solved by reading the developer guide.
Think of performance issues when taking pictures with modern devices. Images can take up to 5 Megabytes. What can you do to create a grid like springboard ? These are all topics not covered by the developer guide or by any available ADF mobile training.
In this session you will learn solutions for these and more real life ADF Mobile issues.
This document discusses SQL Server backup and recovery best practices. It begins with an introduction by Tobiasz Janusz Koprowski on his background and experience. The agenda then outlines parts on introduction to backup options, demonstrations of backup in the cloud and on-premise, and best practices. It covers topics like understanding different cloud service models, security requirements for Azure, and non-compatible features between SQL Server versions and SQL Azure. It also demonstrates connecting to and backing up databases in SQL Azure and on-premise SQL Server.
AMIS organiseerde op maandagavond 15 juli het seminar ‘Oracle database 12c revealed’. Deze avond bood AMIS Oracle professionals de eerste mogelijkheid om de vernieuwingen in Oracle database 12c in actie te zien! De AMIS specialisten die meer dan een jaar bèta testen hebben uitgevoerd lieten zien wat er nieuw is en hoe we dat de komende jaren gaan inzetten!
Deze presentatie is deze avond gegeven als een plenaire sessie!
This document discusses Microsoft Azure, a cloud computing platform. It provides an overview of Azure's capabilities including infrastructure as a service (IaaS), platform as a service (PaaS), and software as a service (SaaS). It highlights key Azure services such as virtual machines, SQL database, web apps, machine learning, and more. The document also discusses how Azure enables businesses to rapidly setup environments, scale infrastructure, and increase efficiency at a lower cost compared to on-premises solutions.
This document discusses various tools from ApexSQL that are available for free. It provides descriptions of ApexSQL Complete, an add-in that improves SQL coding productivity in Visual Studio and SSMS, ApexSQL Refactor for formatting and refactoring SQL code, and ApexSQL Search for finding SQL objects. It also gives an overview of ApexSQL's licensing and demos some of the tools.
The document discusses the evolution of data-tier applications (DACs) and database administration over time. It notes that in the past, database administrators (DBAs) and developers worked in silos, making development, deployment, and management challenging. Recent investments in tools like SQL Server Data-tier Applications (DACs) now allow for more integrated development workflows and easier deployment and management of databases at scale. The document outlines some key concepts and enhancements in DACs over multiple versions to improve collaboration and move developers to a more declarative model.
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Lucidworks
This document discusses challenges in providing search capabilities for the Apache Solr Reference Guide content. It explores indexing the reference guide content stored in HTML format using the bin/post tool and Apache Solr's ExtractingRequestHandler. It also considers using Lucidworks' Site Search hosted service as an alternative. While both options face challenges due to the source content structure, Site Search provides a quicker path to basic search functionality for the reference guide.
This presentation provides an overview of Oracle Developer Tools for Visual Studio .NET and Oracle Database Extensions for .NET. It demonstrates the key features and capabilities including designing and developing .NET stored procedures directly within Visual Studio .NET. The presentation is intended for informational purposes only and cannot be incorporated into any legal agreements. It also notes that Oracle may change any product functionality or release schedule at its own discretion.
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...MediaMongrels Ltd
Sam Sharp's presentation from GDevCon#2 on Efficient Working with Databases in LabVIEW.
This presentation discusses some best practice hints & tips for working with databases in LabVIEW and uses Yii's ActiveRecord implementation as an example of how we can work more efficiently with databases in LabVIEW.
SQL Server 2017 Enhancements You Need To KnowQuest
In this session, database experts Pini Dibask and Jason Hall reveal the lesser-known features that’ll help you improve database performance in record time.
Big SQL 3.0 is a SQL-on-Hadoop solution that provides SQL access to data stored in Hadoop. It uses the same table definitions and metadata as Hive, accessing data already stored in Hadoop without requiring a proprietary format. Big SQL extends Hive's syntax with features like primary keys and foreign keys. Tables in Big SQL and Hive represent views of data stored in Hadoop rather than separate storage structures.
The Oracle Corporation is an American global computer technology corporation founded in 1977. It primarily develops and markets database management systems and enterprise software. In 2013, Oracle began using Oracle 12C which provided cloud services capabilities. In 2014, Oracle acquired digital marketing company Datalogix for an undisclosed amount.
Design patterns are not only cool but represent the collective wisdom of many developers. Since the publication of Design Patterns: Elements of Reusable Object-Oriented Software by GoF many new concepts have extended the coverage of these design patterns, and now Java EE provides out-of-the box implementations of many of the most well known patterns. This talk will show how, by taking advantage of Java EE features such as CDI and the smart use of annotations, traditional design patterns can be implemented in a much cleaner and quicker way. Among the design patterns discuss there will be Singleton, Façade, Observer, Factory, Dependency Injection, Decorator and more.
Oracle Autonomous Database for DevelopersTércio Costa
This document introduces Tércio Costa, an Oracle DBA and ACE member who is an expert on Oracle Autonomous Database. It lists his credentials and certifications. It then briefly discusses the Oracle ACE program membership tiers and its global community of over 500 technical experts. Finally, it mentions some of the key services provided by Oracle Autonomous Database such as provisioning, scaling, management, security, data protection, and optimization.
• We sleeping well. And our mobile ringing and ringing. Message: DISASTER! In this session (on slides) we are NOT talk about potential disaster (such BCM); we talk about: And what NOW? New version old my old well-known session updated for whole changes which happened in DBA World in last two-three years.
• So, from the ground to the Sky and further - everything for surviving disaster. Which tasks should have been finished BEFORE. Is virtual or physical SQL matter? We talk about systems, databases, peoples, encryption, passwords, certificates and users.
• In this session (on few demos) I'll show which part of our SQL Server Environment are critical and how to be prepared to disaster. In some documents I'll show You how to be BEST prepared.
Brett Meyer gave an overview of Hibernate ORM and JPA. He discussed that ORM maps Java objects to relational databases for persistence beyond the life of a program. JPA is the Java standard for ORM that provides portability, while Hibernate is a full-featured JPA implementation with additional native features. Hibernate allows focusing on business logic rather than data access details and provides performance, concurrency, and extensibility benefits over traditional JDBC usage.
Making sense of Microsoft Identities in a Hybrid worldJason Himmelstein
The document discusses Microsoft identities in a hybrid world. It provides a history of identity management from SharePoint 2003 to the present. Key terminology is defined, including Active Directory, Azure Active Directory, and Azure AD Connect. Active Directory concepts and topology/security considerations are examined. Use cases for identity management scenarios are also explored.
Mahmoud Abdallah Mahmoud is the head of the developer vertical at the Microsoft Tech Club at Sohag University Faculty of Engineering. He gave a presentation on databases and Microsoft SQL Server that covered relational database features including tables, primary keys, and defining relationships. The presentation included a demonstration of SQL queries and an overview of career opportunities with Microsoft SQL Server certifications.
The document discusses different SQL database standards and implementations including MySQL, SQL Server, Oracle DB, and PostgreSQL. It provides an overview of each database including their key features and limitations. It also compares the databases across features such as licensing, server-side scripts, operating system support, and ACID properties. Finally, it presents statistics on the top deployed databases from surveys in 2004 and 2009.
This document discusses migrating to ExtJS 3.4. Key points include new features in 3.4 like improved cross-browser support, performance enhancements, and accessibility features. It outlines changes to the core framework, data package, and changes needed to the Operative One codebase. References to Sencha documentation on ExtJS 3.x features and release notes are also provided.
Virtual Study Beta Exam 71-663 Exchange 2010 Designing And Deploying Messagin...Tobias Koprowski
This is my presentation for VirtualStudy.pl as teh last part of preparation for 71-663 beta exam: 71-663: Pro: Designing and Deploying Messaging Solutions with Microsoft Exchange Server 2010
Persistence is the storage of data that exists beyond a single session or process. There are three main ways to persist data using Hibernate: JDBC, Spring JDBC, and Hibernate itself. Hibernate provides an object-relational mapping tool that allows developers to treat a database as a collection of Java objects and provides transparent data persistence. It abstracts away many of the complexities of directly using JDBC.
Hibernate ORM: Tips, Tricks, and Performance TechniquesBrett Meyer
DevNexus 2014
Out-of-the-box, Hibernate ORM offers limited overhead and decent throughput. Early-stage applications enjoy the convenience of ORM/JPA with great performance. However, scaling your application into an enterprise-level system introduces more demanding needs.
This talk will describe numerous tips and techniques to both increase Hibernate ORM performance, as well as decrease overhead. These include some basic tricks, such as mapping and fetching strategies. Entity enhancement instrumentation, third-party second level caching, Hibernate Search, and more complex considerations will also be discussed. The talk will include live demonstrations techniques and their before-and-after results.
This document outlines an agenda for a WebObjects optimization conference on June 30 - July 2, 2012 in Montreal. The sessions will cover optimizing WebObjects applications from the browser to the database including techniques like caching, batch fetching, SQL monitoring and more. Chuck Hill from Global Village Consulting will discuss strategies for optimizing applications beyond the end-of-model including tools like ERXEnterpriseObjectCache and ERXBatchingDisplayGroup. Time will also be spent on database tuning, avoiding unnecessary relationships in models and leveraging raw rows when appropriate.
SharePoint 2014: Where to save my data, for devs!Ben Steinhauser
The document discusses various options for where developers can save application data in SharePoint. It provides an overview of options such as databases, lists, property bags, web part properties, temporary data stores, and SPPersistedObject. It also highlights advantages and disadvantages of each approach. The document aims to help developers choose the best location for storing different types of data based on factors like data structure, persistence needs, and permissions. It includes code demonstrations of using lists, property bags, serialization, and web part properties to save and retrieve data.
The document provides an overview of SharePoint development, including its various versions over time, what SharePoint is used for, and different approaches to customizing and developing for SharePoint. It discusses configuration vs customization vs development. It then covers key development approaches like using Visual Studio templates, solution packages, features, farm vs sandboxed solutions, and the server-side vs client-side object models. It also discusses the SharePoint app model and different app locations like host webs and app webs.
The document discusses the evolution of data-tier applications (DACs) and database administration over time. It notes that in the past, database administrators (DBAs) and developers worked in silos, making development, deployment, and management challenging. Recent investments in tools like SQL Server Data-tier Applications (DACs) now allow for more integrated development workflows and easier deployment and management of databases at scale. The document outlines some key concepts and enhancements in DACs over multiple versions to improve collaboration and move developers to a more declarative model.
Challenges of Simple Documents: When Basic isn't so Basic - Cassandra Targett...Lucidworks
This document discusses challenges in providing search capabilities for the Apache Solr Reference Guide content. It explores indexing the reference guide content stored in HTML format using the bin/post tool and Apache Solr's ExtractingRequestHandler. It also considers using Lucidworks' Site Search hosted service as an alternative. While both options face challenges due to the source content structure, Site Search provides a quicker path to basic search functionality for the reference guide.
This presentation provides an overview of Oracle Developer Tools for Visual Studio .NET and Oracle Database Extensions for .NET. It demonstrates the key features and capabilities including designing and developing .NET stored procedures directly within Visual Studio .NET. The presentation is intended for informational purposes only and cannot be incorporated into any legal agreements. It also notes that Oracle may change any product functionality or release schedule at its own discretion.
Efficient working with Databases in LabVIEW - Sam Sharp (MediaMongrels Ltd) -...MediaMongrels Ltd
Sam Sharp's presentation from GDevCon#2 on Efficient Working with Databases in LabVIEW.
This presentation discusses some best practice hints & tips for working with databases in LabVIEW and uses Yii's ActiveRecord implementation as an example of how we can work more efficiently with databases in LabVIEW.
SQL Server 2017 Enhancements You Need To KnowQuest
In this session, database experts Pini Dibask and Jason Hall reveal the lesser-known features that’ll help you improve database performance in record time.
Big SQL 3.0 is a SQL-on-Hadoop solution that provides SQL access to data stored in Hadoop. It uses the same table definitions and metadata as Hive, accessing data already stored in Hadoop without requiring a proprietary format. Big SQL extends Hive's syntax with features like primary keys and foreign keys. Tables in Big SQL and Hive represent views of data stored in Hadoop rather than separate storage structures.
The Oracle Corporation is an American global computer technology corporation founded in 1977. It primarily develops and markets database management systems and enterprise software. In 2013, Oracle began using Oracle 12C which provided cloud services capabilities. In 2014, Oracle acquired digital marketing company Datalogix for an undisclosed amount.
Design patterns are not only cool but represent the collective wisdom of many developers. Since the publication of Design Patterns: Elements of Reusable Object-Oriented Software by GoF many new concepts have extended the coverage of these design patterns, and now Java EE provides out-of-the box implementations of many of the most well known patterns. This talk will show how, by taking advantage of Java EE features such as CDI and the smart use of annotations, traditional design patterns can be implemented in a much cleaner and quicker way. Among the design patterns discuss there will be Singleton, Façade, Observer, Factory, Dependency Injection, Decorator and more.
Oracle Autonomous Database for DevelopersTércio Costa
This document introduces Tércio Costa, an Oracle DBA and ACE member who is an expert on Oracle Autonomous Database. It lists his credentials and certifications. It then briefly discusses the Oracle ACE program membership tiers and its global community of over 500 technical experts. Finally, it mentions some of the key services provided by Oracle Autonomous Database such as provisioning, scaling, management, security, data protection, and optimization.
• We sleeping well. And our mobile ringing and ringing. Message: DISASTER! In this session (on slides) we are NOT talk about potential disaster (such BCM); we talk about: And what NOW? New version old my old well-known session updated for whole changes which happened in DBA World in last two-three years.
• So, from the ground to the Sky and further - everything for surviving disaster. Which tasks should have been finished BEFORE. Is virtual or physical SQL matter? We talk about systems, databases, peoples, encryption, passwords, certificates and users.
• In this session (on few demos) I'll show which part of our SQL Server Environment are critical and how to be prepared to disaster. In some documents I'll show You how to be BEST prepared.
Brett Meyer gave an overview of Hibernate ORM and JPA. He discussed that ORM maps Java objects to relational databases for persistence beyond the life of a program. JPA is the Java standard for ORM that provides portability, while Hibernate is a full-featured JPA implementation with additional native features. Hibernate allows focusing on business logic rather than data access details and provides performance, concurrency, and extensibility benefits over traditional JDBC usage.
Making sense of Microsoft Identities in a Hybrid worldJason Himmelstein
The document discusses Microsoft identities in a hybrid world. It provides a history of identity management from SharePoint 2003 to the present. Key terminology is defined, including Active Directory, Azure Active Directory, and Azure AD Connect. Active Directory concepts and topology/security considerations are examined. Use cases for identity management scenarios are also explored.
Mahmoud Abdallah Mahmoud is the head of the developer vertical at the Microsoft Tech Club at Sohag University Faculty of Engineering. He gave a presentation on databases and Microsoft SQL Server that covered relational database features including tables, primary keys, and defining relationships. The presentation included a demonstration of SQL queries and an overview of career opportunities with Microsoft SQL Server certifications.
The document discusses different SQL database standards and implementations including MySQL, SQL Server, Oracle DB, and PostgreSQL. It provides an overview of each database including their key features and limitations. It also compares the databases across features such as licensing, server-side scripts, operating system support, and ACID properties. Finally, it presents statistics on the top deployed databases from surveys in 2004 and 2009.
This document discusses migrating to ExtJS 3.4. Key points include new features in 3.4 like improved cross-browser support, performance enhancements, and accessibility features. It outlines changes to the core framework, data package, and changes needed to the Operative One codebase. References to Sencha documentation on ExtJS 3.x features and release notes are also provided.
Virtual Study Beta Exam 71-663 Exchange 2010 Designing And Deploying Messagin...Tobias Koprowski
This is my presentation for VirtualStudy.pl as teh last part of preparation for 71-663 beta exam: 71-663: Pro: Designing and Deploying Messaging Solutions with Microsoft Exchange Server 2010
Persistence is the storage of data that exists beyond a single session or process. There are three main ways to persist data using Hibernate: JDBC, Spring JDBC, and Hibernate itself. Hibernate provides an object-relational mapping tool that allows developers to treat a database as a collection of Java objects and provides transparent data persistence. It abstracts away many of the complexities of directly using JDBC.
Hibernate ORM: Tips, Tricks, and Performance TechniquesBrett Meyer
DevNexus 2014
Out-of-the-box, Hibernate ORM offers limited overhead and decent throughput. Early-stage applications enjoy the convenience of ORM/JPA with great performance. However, scaling your application into an enterprise-level system introduces more demanding needs.
This talk will describe numerous tips and techniques to both increase Hibernate ORM performance, as well as decrease overhead. These include some basic tricks, such as mapping and fetching strategies. Entity enhancement instrumentation, third-party second level caching, Hibernate Search, and more complex considerations will also be discussed. The talk will include live demonstrations techniques and their before-and-after results.
This document outlines an agenda for a WebObjects optimization conference on June 30 - July 2, 2012 in Montreal. The sessions will cover optimizing WebObjects applications from the browser to the database including techniques like caching, batch fetching, SQL monitoring and more. Chuck Hill from Global Village Consulting will discuss strategies for optimizing applications beyond the end-of-model including tools like ERXEnterpriseObjectCache and ERXBatchingDisplayGroup. Time will also be spent on database tuning, avoiding unnecessary relationships in models and leveraging raw rows when appropriate.
SharePoint 2014: Where to save my data, for devs!Ben Steinhauser
The document discusses various options for where developers can save application data in SharePoint. It provides an overview of options such as databases, lists, property bags, web part properties, temporary data stores, and SPPersistedObject. It also highlights advantages and disadvantages of each approach. The document aims to help developers choose the best location for storing different types of data based on factors like data structure, persistence needs, and permissions. It includes code demonstrations of using lists, property bags, serialization, and web part properties to save and retrieve data.
The document provides an overview of SharePoint development, including its various versions over time, what SharePoint is used for, and different approaches to customizing and developing for SharePoint. It discusses configuration vs customization vs development. It then covers key development approaches like using Visual Studio templates, solution packages, features, farm vs sandboxed solutions, and the server-side vs client-side object models. It also discusses the SharePoint app model and different app locations like host webs and app webs.
This session introduces tools that can help you analyze and troubleshoot performance with SharePoint 2013. This sessions presents tools like perfmon, Fiddler, Visual Round Trip Analyzer, IIS LogParser, Developer Dashboard and of course we create Web and Load Tests in Visual Studio 2013.
At the end we also take a look at some of the tips and best practices to improve performance on SharePoint 2013.
2/15/2012 - Wrapping Your Head Around the SharePoint BeastMark Rackley
The document discusses an introduction to SharePoint development, providing an outline of topics such as why SharePoint, what SharePoint is, the SharePoint overview, what SharePoint development entails, the steps to becoming a SharePoint developer, and the SharePoint community. It also addresses learning SharePoint development, the reasons for using SharePoint as a development platform, and terminology related to SharePoint.
SPSDenver - Wrapping Your Head Around the SharePoint BeastMark Rackley
This document provides an overview of SharePoint and the path to becoming a SharePoint developer. It discusses why organizations implement SharePoint, defines common terminology, and reviews the logical architecture and taxonomy. It outlines the various roles in SharePoint development from end users to administrators to developers. It also discusses tools, debugging, deployment, and the importance of the SharePoint community.
The document provides an introduction to Typesafe Activator and the Play Framework. It discusses how Activator is a tool that helps developers get started with the Typesafe Reactive Platform and Play applications. It also covers some core features of Play like routing, templates, assets, data access with Slick and JSON, and concurrency with Futures, Actors, and WebSockets.
Alfresco Business Reporting - Tech Talk Live 20130501Tjarda Peelen
This is the Slide Deck used in Alfresco's Tech Talk Live, May 1, 2013. It featured my Alfresco add-on: Alfresco Business Reporting. The purpose is to the technical 'why' and 'how' of the add-on module, the challenge faced and he solutions designed.
5 Common Mistakes You are Making on your WebsiteAcquia
The document discusses common mistakes that are often found during website audits. It covers 5 categories: content architecture, display architecture, site architecture, security, and performance. Some examples of mistakes mentioned include having similar content types, not reusing fields, extra modules installed that are not useful, reinventing functionality that Drupal already provides well, outdated core/contrib modules, and complex queries without indexes. The document provides best practices for each category such as planning content architecture ahead of time, separating logic from presentation, using the right hooks for custom modules, keeping software updated, and optimizing databases before caching. It emphasizes the importance of testing, environments, and maintenance for the website lifecycle.
This document discusses SQL Server best practices for optimizing performance when used with SharePoint. It recommends using SQL Server on 64-bit hardware with plenty of RAM, separating databases onto different disks, setting the MAXDOP value to 1, and properly sizing and managing database files and indexes. It also provides guidance on monitoring for performance bottlenecks and maintaining databases regularly through techniques like reindexing fragmented indexes. The goal is to minimize SQL Server contention and I/O bottlenecks that could impact front-end SharePoint servers.
SPSNE17 - The Wall: Overcoming SharePoint’s Site Collection BoundaryJonathan Ralton
The document summarizes a presentation on overcoming SharePoint's site collection boundaries. It discusses defining the problem of consistency across sites and reusing components. It then covers solutions for managing site lifecycles through provisioning and tracking sites, as well as deleting sites. Next, it addresses taxonomy issues and proposes using content type publishing, managed metadata, and term sets.
Serverless SQL provides a serverless analytics platform that allows users to analyze data stored in object storage without having to manage infrastructure. Key features include seamless elasticity, pay-per-query consumption, and the ability to analyze data directly in object storage without having to move it. The platform includes serverless storage, data ingest, data transformation, analytics, and automation capabilities. It aims to create a sharing economy for analytics by allowing various users like developers, data engineers, and analysts flexible access to data and analytics.
Boost the Performance of SharePoint Today!Brian Culver
Is your farm struggling to server your organization? How long is it taking between page requests? Where is your bottleneck in your farm? Is your SQL Server tuned properly? Worried about upgrading due to poor performance? We will look at various tools for analyzing and measuring performance of your farm. We will look at simple SharePoint and IIS configuration options to instantly improve performance. I will discuss advanced approaches for analyzing, measuring and implementing optimizations in your farm as well as Performance Improvements in SharePoint 2013.
Lessons Learned from Real-World Deployments of Java EE 7 at JavaOne 2014Arun Gupta
This document discusses lessons learned from real-world deployments of Java EE 7. Key points include increased developer productivity through features like batch processing, concurrency, simplified JMS, more annotated POJOs, and a cohesive integrated platform. Specific technologies used include JSON, WebSockets, Servlet 3.1 NIO, and REST. Real-world examples of implementations include an application for a UN agency to support refugees and a running social network application for runners.
Custom Development in SharePoint – What are my options now?Talbott Crowell
Since Microsoft has released SharePoint 2013 with a whole new application development methodology, there has been some confusion and frustration in the community on what the best approach for customizing SharePoint for developers. In this session, we will look at the options, new and old, and discuss the pros and cons. We may even see some novel approaches you haven’t thought about yet.
This document provides an overview of various powerful features and capabilities of Hibernate ORM beyond basic object-relational mapping. It discusses multi-tenancy support, value generation, spatial mapping with Hibernate Spatial, auditing of historical data changes with Hibernate Envers, integration with OSGi environments using Hibernate OSGi, full-text search capabilities with Hibernate Search, and support for NoSQL databases and data validation. The presentation invites questions after discussing each topic in more depth.
I presented this at a user group in Sweden, as a compilation discussion of practical customer experiences with WIndows Azure. The slides led the discussion. Enjoy.
The document provides an overview of the IBM FileNet P8 platform, including its core components of Content Engine, Process Engine, and Workplace/Workplace XT. It describes the key functions of the Content Engine such as storing and managing objects and content, full-text indexing, storage options, and APIs. It also outlines the main roles and configurations of the Process Engine for workflow management. Finally, it discusses the user interfaces of Workplace/Workplace XT and some additional expansion products that integrate with FileNet P8.
AngularJS 1.x - your first application (problems and solutions)Igor Talevski
We will talk about all aspects of building a single page application with AngularJS, and we will discuss real examples from day-to-day work. We will also cover a large amount of theory about general web development, best practices, and today's client demands. We will focus on three (3) main points: architecture, security, and real time notification.
High-level Guide: Upgrading to SharePoint 2013C5 Insight
This document provides guidance on upgrading from SharePoint 2010 to SharePoint 2013. It discusses the upgrade process, including preparing the existing SharePoint 2010 environment, building a test environment to test the upgrade, and implementing the actual upgrade. The preparation steps include inventorying customizations, cleaning up the SharePoint 2010 environment by removing unused sites and lists, and checking authentication settings. The document outlines building a SharePoint 2013 test farm and using real data to test the upgrade strategy. The implementation section covers upgrading service applications and content databases.
Semelhante a Where to save my data, for devs! (20)
This document discusses building mobile apps with Xamarin and Visual Studio App Center. It describes how Xamarin enables code sharing across platforms using familiar languages and libraries while still allowing access to native device functionality. It compares classic Xamarin vs Xamarin Forms approaches and outlines the features of Visual Studio App Center, which provides a unified experience for building, testing, distributing and monitoring mobile apps in one place. It includes a demo of setting up a new application in App Center.
Jethro Seghers presented on Azure Active Directory. Azure AD is a comprehensive identity and access management cloud solution that combines directory services, identity governance, application access management, and a developer platform. It allows for single sign-on, self-service access, and synchronization of identities from on-premises directories to the cloud. Azure AD supports cloud identities stored directly in Azure, federated identities using AD FS, and pass-through authentication to keep identities on-premises while authenticating to Azure.
Microsoft has been full pedal to the metal with introducing new features & services in Office 365, making the decision for when to use what quite difficult for organizations. Come explore different business use cases and how they align with core services such as Teams, Groups, and Yammer. We will talk about concepts such as audience, tone, and impact to help make informed decisions when recommending Office 365 solutions to solve business problems. Finally, we will talk about ways to help enable your business customers to adopt these services and ultimately realize the benefit of your organization's Office 365 investment.
The document provides an overview of Office 365 administration. It describes the key components of Office 365 including Exchange, Lync, and SharePoint. It also summarizes the main functions and interface of the Office 365 Admin Portal, including managing users, licenses, and service settings. The document outlines how to add, edit, and manage multiple users from within the Admin Portal.
Groups are a new feature in Office 365 for communication and collaboration
›Groups are not based in SharePoint Online or Exchange Online etc. Groups are an Office 365 feature that use several components from SharePoint Online, Exchange Online, Azure and more…
›Groups are a loose coupling of independent services
This document provides an overview of integrating SQL Server Reporting Services (SSRS) with SharePoint. It begins with a brief introduction of the author and their background. It then discusses the benefits of integrating SSRS with SharePoint, including running reports within SharePoint and automatically delivering reports. The bulk of the document outlines 13 tips for the integration process, covering topics like installing and configuring SSRS and SharePoint, deploying reports, and creating subscriptions. It also discusses using SSRS reports with PerformancePoint Services dashboards and against SharePoint lists.
By now you may have heard that JavaScript is becoming a viable solution for SharePoint Development, but where do you get started? This session will start with some of the basics and introduce attendees to a few different Javascript libraries such as jQuery, Knockout, Bootstrap, etc. It will showcase SharePoint's REST API and provide some examples of how to conduct basic CRUD operations which you can repurpose for your own custom SharePoint Apps.
This document provides an overview and schedule for the SharePoint Saturday event being held at Rutgers University on September 20, 2014. It outlines the venue details, logistics, sessions, sponsors and prizes for attendees. The day includes five sessions ranging from 9:30am to 4:45pm, with lunch and refreshments provided. Prizes will be raffled at the end of the event for those who get their bingo cards stamped by sponsors.
Continuous Integration is a wonderful and popular practice in the software development universe. Yet, for whatever reason, it seems much less commonly utilized in the SharePoint community. SharePoint (naturally) throws a few wrinkles into the process, but no substantial roadblocks, and the benefits of CI can be realized just as well on SharePoint projects as anywhere else. In this session, you'll learn why you should implement a CI process and then see how to do it using TFS and Visual Studio.
So you’ve inherited a SharePoint environment and need it secure, ASAP. The talk explains how to do this in a methodical way, to address all the levels of SharePoint security. This is ideal for the SharePoint administrator who needs to address the server security realm and the security officer who needs to understand SharePoint security.
Like taking responsibility of relationship after commitment is important, monitoring applications after they go live is important!!!
Microsoft’s answer to this curious case is a cloud based service named Application Insights provided as part of Visual Studio Online.
In this session, we will figure out how we can analyze whether our applications are living up to the expectations from Availability and Performance point of view, how we can drive our applications towards having long life and much more fun stuff!!
Knowing the vast majority of the content accessed via SharePoint is stored in SQL Server, and also knowing an incorrect configuration of SQL Server can have a detrimental impact on the performance of SharePoint it is important to understand the integration of these two products. Regardless of whether you have a dedicated DBA, or the SharePoint administrator is also the DBA, there are critical SQL Server configurations that can be made that will improve the performance of SharePoint. Often DBA’s are familiar with how to manage SQL Server, but may not be familiar with some nuances that SQL Server has when integrated with SharePoint. In this session we will demonstrate how some default SQL Server settings negatively impact SharePoint and what changes can be made to improve the performance of SharePoint. These changes include database file settings and SQL Server instance settings. We'll also examine how to properly install SQL Server and SharePoint so they work together as efficiently as possible. This discussion will introduce the Best Practices framework that will allow your SharePoint administrator and/or your DBA to configure SharePoint and SQL Server to provide optimal performance for your SharePoint implementation
The Microsoft Office Web Applications that were once configured and managed as a service application in SharePoint 2010 are configured and managed completely different in SharePoint 2013. The Office Web Applications (OWA) are now created in an Office Web Apps farm, which allows you to create a universal Office Web App environment that can host multiple SharePoint farms, as well as communicate with Lync and Exchange servers. The OWA farm allows users to create, edit, and share content using browser-based versions of Word, Excel, PowerPoint, and OneNote. Furthermore, OWA can be configured to enhance the users search experience by providing a document preview or thumbnail that is viewable from within the search result set. This session will discuss how and why you will want to implement the new Office Web Apps and the many benefits of doing so.
Apps for Office introduces a new programming model that is so flexible, you may not believe it unless you see it with your own eyes. You might say it is dangerously simple to enhance the functionality of Office. Apps for Office allow you to enhance the user experience for Access, Excel, Outlook, PowerPoint, Project and Word, most likely using your existing skills.
Starting with a brief discussion surrounding the road-map for the various types of Office apps, this talk will focus primarily on Mail apps and how you can use them to provide very valuable enhancements to the message and appointment (reading and composing) experiences.
You will learn about what if takes to develop a Mail app (a real app, currently under development will be shown), what the infrastructure looks like to deploy a mail app, what the licensing process looks like and how easy they are to monetize.
After the discussion, you will likely be beaming with ideas and be rushing home to begin building your very own App for Office.
Exchange Server 2013, SharePoint Server 2013, and Lync Server 2013 provide integrated functionality through features like site mailboxes, eDiscovery, high resolution photos, and task synchronization. Server-to-server authentication using OAuth 2.0 allows servers to request resources on behalf of users. Site mailboxes are provisioned and managed through SharePoint and provide email access to SharePoint sites. eDiscovery searches can include content from Exchange, SharePoint, and Lync through the search service application and server-to-server trust. High resolution photos are synced across applications and services using EWS. Tasks can be synced between Exchange and SharePoint through the work management service application.
This document provides an overview and demonstration of implementing term store navigation in SharePoint 2013. The presentation agenda includes an introduction to term store navigation, why it should be used, and a live demo. Term store navigation allows creating navigation that is not dependent on the site structure, divorcing the navigation from hierarchy. It instead uses the term store to drive navigation in a way that is more natural for how people think. The presentation concludes with contact information and details on local SharePoint user group meetings.
The document discusses various business intelligence tools in Microsoft including scorecards, KPIs, dashboards, and reports. It provides descriptions and examples of each tool as well as how they can be used to measure performance, visualize data, and make informed business decisions. Links are also included for additional resources on Microsoft BI architectures, capabilities of Excel Services, SharePoint, and SQL Server for building BI solutions.
SOCRadar's Aviation Industry Q1 Incident Report is out now!
The aviation industry has always been a prime target for cybercriminals due to its critical infrastructure and high stakes. In the first quarter of 2024, the sector faced an alarming surge in cybersecurity threats, revealing its vulnerabilities and the relentless sophistication of cyber attackers.
SOCRadar’s Aviation Industry, Quarterly Incident Report, provides an in-depth analysis of these threats, detected and examined through our extensive monitoring of hacker forums, Telegram channels, and dark web platforms.
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesQuickdice ERP
Explore the seamless transition to e-invoicing with this comprehensive guide tailored for Saudi Arabian businesses. Navigate the process effortlessly with step-by-step instructions designed to streamline implementation and enhance efficiency.
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfVALiNTRY360
Salesforce Healthcare CRM, implemented by VALiNTRY360, revolutionizes patient management by enhancing patient engagement, streamlining administrative processes, and improving care coordination. Its advanced analytics, robust security, and seamless integration with telehealth services ensure that healthcare providers can deliver personalized, efficient, and secure patient care. By automating routine tasks and providing actionable insights, Salesforce Healthcare CRM enables healthcare providers to focus on delivering high-quality care, leading to better patient outcomes and higher satisfaction. VALiNTRY360's expertise ensures a tailored solution that meets the unique needs of any healthcare practice, from small clinics to large hospital systems.
For more info visit us https://valintry360.com/solutions/health-life-sciences
Measures in SQL (SIGMOD 2024, Santiago, Chile)Julian Hyde
SQL has attained widespread adoption, but Business Intelligence tools still use their own higher level languages based upon a multidimensional paradigm. Composable calculations are what is missing from SQL, and we propose a new kind of column, called a measure, that attaches a calculation to a table. Like regular tables, tables with measures are composable and closed when used in queries.
SQL-with-measures has the power, conciseness and reusability of multidimensional languages but retains SQL semantics. Measure invocations can be expanded in place to simple, clear SQL.
To define the evaluation semantics for measures, we introduce context-sensitive expressions (a way to evaluate multidimensional expressions that is consistent with existing SQL semantics), a concept called evaluation context, and several operations for setting and modifying the evaluation context.
A talk at SIGMOD, June 9–15, 2024, Santiago, Chile
Authors: Julian Hyde (Google) and John Fremlin (Google)
https://doi.org/10.1145/3626246.3653374
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
Unveiling the Advantages of Agile Software Development.pdfbrainerhub1
Learn about Agile Software Development's advantages. Simplify your workflow to spur quicker innovation. Jump right in! We have also discussed the advantages.
How Can Hiring A Mobile App Development Company Help Your Business Grow?ToXSL Technologies
ToXSL Technologies is an award-winning Mobile App Development Company in Dubai that helps businesses reshape their digital possibilities with custom app services. As a top app development company in Dubai, we offer highly engaging iOS & Android app solutions. https://rb.gy/necdnt
WWDC 2024 Keynote Review: For CocoaCoders AustinPatrick Weigel
Overview of WWDC 2024 Keynote Address.
Covers: Apple Intelligence, iOS18, macOS Sequoia, iPadOS, watchOS, visionOS, and Apple TV+.
Understandable dialogue on Apple TV+
On-device app controlling AI.
Access to ChatGPT with a guest appearance by Chief Data Thief Sam Altman!
App Locking! iPhone Mirroring! And a Calculator!!
Mobile App Development Company In Noida | Drona InfotechDrona Infotech
Drona Infotech is a premier mobile app development company in Noida, providing cutting-edge solutions for businesses.
Visit Us For : https://www.dronainfotech.com/mobile-application-development/
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...XfilesPro
Wondering how X-Sign gained popularity in a quick time span? This eSign functionality of XfilesPro DocuPrime has many advancements to offer for Salesforce users. Explore them now!
Oracle Database 19c New Features for DBAs and Developers.pptx
Where to save my data, for devs!
1. Where to save my data, for devs!
Benjamin J. Steinhauser
NJ SPS 2014
1
2. About Me
• Benjamin J. Steinhauser
• SharePoint Solution Architect
• B&R Business Solutions
• BS/MS in CS; MCP, MCTS (SP2010 Config. & Dev.)
• 12+ years as ASP.NET Application Developer
• 7+ years as SharePoint Developer
• Creator of Open Source CodePlex Projects:
• SPCAMLQueryHelper (over 45,000 downloads)
• SPFileZilla (over 1,600 downloads)
• SPMMDNavigator (over 1,800 downloads)
• SharePoint 2010 and 2013 Custom Claims Authentication with Twitter
• SharePoint 2010 Claims FBA Examples with OpenID
• Author of paid products: SharePoint Metro Grid Web Part, SharePoint Swipe
Gallery Web Part
• Presenter at SP User Groups and SharePoint Saturday Events
2
3. Intro
• Where do I store my application’s data?
• Developers have many choices when building solutions that
consume data in SharePoint, what are best practices?
• Who: is the consumer of the data?
• What: is the type of data being saved?
• When: is the data needed, and for how
long should it persist?
• Why: is the data being stored in the first place!?
• Where: is the data being stored?
3
4. Consider…
• What are the advantages/disadvantages for each option?
• What are the restrictions?
• What type of data is it?
• Settings, configuration, licensing
• Structured data (employees, favorites, HR forms, etc.)
• How long should the data persist?
• Who is the data consumer?
• End user, Power User, Administrator
• Web Part, Application Page, Timer Job, Web Service, Service
Application
• Is the data sensitive? Does it require encryption?
• Is Performance a factor? (always consider caching)
4
5. Where is my data!?
1. Database
2. SharePoint List
3. SP Secure Store
4. Property Bags
5. Web Part Properties
6. Web.config
7. SPPersistedObject
5
6. 1. Databases
• MS SQL Server, Oracle, MySQL
• CRUD: create, read, update, delete
• For structured data, relational data
• Easy (if you know SQL), very fast
• Ways to interact:
• LINQ to SQL
• LINQ to Entity
• Stored Procedures
• Inline-SQL in .NET
• But…
• Farm solutions only (not for Sandbox Solutions)
• Database needs to be created (database administrator)
• Permissions need to be configured (database administrator)
• Contexts need to be built (when using LINQ)
• Another actual “layer” to manage
• Connections strings need to be saved (more data!)
• “Put it in a list, duh!”, not so fast, does it need the SP overhead?
• Better for custom business applications that store lots of data, specialized data,
data that doesn’t need to be accessible via a List, Searched.
6
7. 2. SharePoint List
• ECM: Site Columns, Content Types, Custom Lists
• BCS External Lists too! Combine database, enterprise data with SP
• Provisioning: Create on Feature Activation, packaged in WSP
• Site level (root web), Web level (each web site)
• Accessible to Normal Users, Power Users, and Admins
• Sandbox Solutions supported
• Many ways to interact:
• SharePoint Object Model (c#, vb.net)
• LINQ to SharePoint (SPMETAL) (c#, vb.net)
• SPQuery (with CAML)
• SPSiteDataQuery: cross site list queries
• SP Client Object Model: from JS, Silverlight, .NET (no anon access)
• REST (listdata.svc, _api) (no anon access)
• ASMX SOAP Web Services: deprecated
• CodePlex SPServices: uses the soap web services, but yes anon access!
7
8. Cont’d
• For saving settings, existing implementations:
• My Custom Config List
• ***Codeplex: http://spconfigstore.codeplex.com
• SharePoint Enterprise Patterns and Practices
8
9. Cont’d
• Pros:
• User Interface: Standard user interface: New, Display and Edit forms
• Change Management: Support for change management (simple one-step approvals, full workflows)
• Alerts: Users can be alerted when settings are changed
• Versioning: Versioning and the ability to roll back changes to a previous value
• Auditing: Determine who made changes and when they were made
• Security: Security trimming and the ability to set security as granular as a specific list item
• Backup/Restore: Taken care of already as part of your normal content database disaster recovery
operations
• Recycle Bin: Ability to take advantage of the Recycle Bin
• Scope: Granularity can be achieved by using multiple settings lists at different levels (ex. in Central
Administration for items scoped to a server farm or Web application, in the root Web site of a site
collection for items scoped for the site collection, in any site for items scoped to the site itself
• Cons:
• Performance: Implications if settings are used repeatedly in a high volume environment (use cache!)
• Limitation on the types of values: Lists can only store simple values, strings, numbers, etc. They
cannot store objects. Even storing serialized objects significantly limits their usefulness because it
means that the standard forms are largely useless.
• Settings removal: Potential for orphaned settings if a piece of functionality is removed but the
corresponding setting SPListItem does not get properly cleaned up.
• List deletion: Serious problems if the settings list is deleted. (fixes: proper security, hidden lists) 9
10. DEMO: Config List Reader
• Custom List created in Feature Activation
• Filled with default data
• Custom Class: ConfigListHelper
• CreateConfigList()
• GetAllValsElev()
• GetAllVals()
• Custom application page:
• Reads all config data into Hashtable
• Displays to page
10
11. BONUS: LINQ to SP
• Enables you to use Language Integrated Query (LINQ) queries
• Translates LINQ queries into Collaborative Application Markup Language
(CAML) queries.
• Sandbox Solutions supported
• Steps:
• Generate Entity Classes (using SPMETAL.exe)
• Write LINQ queries in C# or VB.NET
• Run solution
• Pros:
• No more CAML! Natural Language syntax, or Expression syntax
• Cons:
• Need to build context
• SPMETAL.exe by default builds entity classes for ALL lists, content types, etc.
• Can customize this with xml parameters file, see MSDN
• Chicken and Egg problem: must create a list and deploy to run SPMETAL to
build the context on it.
11
12. DEMO: LINQ to SP
• Feature Activation, Event Receiver:
• Create List, “Best SharePoint Blog Sites”
• Fill with sample data
• SPMETAL BAT file, creates Entity context
• SPSVB2014Linq.cs
• Custom Application Page:
• Display ListItems
• Add a ListItem
12
13. 3. Secure Store
• Secure Store Service provides a way to map credentials and delegate access to
remote resources.
• The Secure Store Service integrates seamlessly with Business Connectivity Services
(BCS).
• Features an API that can be taken advantage of within custom development projects.
• Makes it an attractive option for storing configuration data.
• The Secure Store Service allows us to create Target Applications which house sets of
credentials.
• The two main types are Individual and Group applications:
• Individual: credentials are mapped to individual users
• Group: all users share the same set of credentials.
• Required Assemblies:
• Microsoft.BusinessData.dll
• Microsoft.Office.SecureStoreService.dll (GAC)
• Not available from SPCOM (JSOM), not sure about Sandbox Solutions.
• Read permissions required, either explicit or through elevation/impersonation
13
18. DEMO: Using Secure Store
• Custom Class
• SecureStoreHelper.GetCredentialsFromSecureStoreService(applicationId)
• applicationId: string (ex. “SqlServerTest”)
• Custom Application Page
• Get saved settings from Secure Store
• Using “Application Id”
18
19. 4. Property Bags
• Hashtable/Dictionary collections to store simple objects (string, int)
• Can use Serialization to save custom objects, Lists, collections, etc.
• PropertyBags are available here (everywhere!):
• SPContentDatabase
• SPFarm: Farm admins only; no Sandbox; WFE read-only(?)
• TimerJob: Each timer job has its own bag; Farm admins only; no Sandbox
• SPServer
• SPWebApplication: Each web app has its own bag; Farm admins only; no
Sandbox; WFE read-only(?)
• Site Collection (SPSite.RootWeb): Using root web, web admin to edit; root
web read access to read; Sandbox supported
• SPWeb: Web admin to edit; web read access to read; Sandbox supported
• List (SPFolder): via root folder, List owner to edit; list read access to read;
Sandbox supported
• SPListItem
• SPFile
19
20. Cont’d
• Pros:
• Easy to use (native SP functionality in SOM)
• Scope: very granular because they are per-object
• Backup/Restore: taken care of as part of your content database recovery
operations
• Management: properties are stored and managed with their relevant object
(backing up web site saves its property bag, deleting a web site deletes its
property bag)
• Cons:
• Availability: certain key objects do not support a property bag (ex. SPUser),
although there are workarounds
• No advanced capabilities to review, approve, audit, rollback changes
• Difficult to store variations: can be difficult to store variations of a single
setting, per-locale, per-user
• Not meant for large data, approx. 4-8 KB and below
• No interface to CRUD, build your own, or use a plugin (codeplex), or
SPDesigner, SP Manager (2010, 2013)
• http://pbs2010.codeplex.com, http://pbs2013.codeplex.com 20
21. DEMO: Property Bags
• Custom Class: PropBagHelper.SiteRootWeb
• SafePropBagSave(site, key, value)
• SafePropBagRead(site, key)
• SafePropBagRead(site)
• Custom Application Page:
• Get all root web keys
• Save a key
21
22. BONUS: Serialization
• Serialization: converting an object into a stream of bytes, to store or
send the object
• Its main purpose is to save the state of an object in order to be able
to recreate it when needed (hydrating).
• The reverse process is called Deserialization.
• We convert bytes to strings, to save in Property Bags, ViewState,
cache, etc.
• Popular Formats:
• XML Serialization
• SOAP Serialization:
Conform to the SOAP specification. SOAP is a protocol based on XML, designed specifically to
transport procedure calls using XML
• JSON Serialization
• Tools/API:
• NewtonSoft’s Json.NET
• My API 22
23. DEMO: Serialization
• Custom Classes:
• JsonExtensionMethod
• XmlSerialization
• Custom application page:
• Local class: Person
• On page load, Person created, Serialized to text,
displayed in textboxes
• Button to Deserialize, fill Person Objects, display IDs
23
24. 5. Web Part Properties
• The Web Part base class contains a set of properties that users can use to control its
appearance and behavior (width, height)
• A custom property is a property that you create when you need additional properties
to enhance your Web Part's functionality
• The custom properties you create and specify as able to be browsed are displayed
automatically in the default property pane
• If the default property pane isn't rich enough in functionality, you can create a
custom user interface called a tool part to manipulate your custom properties
• Available in Sandbox Solutions
• Available in Standard and Visual Web Parts
• Easy to update in custom tool pane Class, tricky to update in regular Web Part page
lifecycle events
• SetPersonalizationDirty()
• ***Checkout required, Content Approval, Publishing
24
25. DEMO: Web Part Properties
• Web Part Feature
• Add to page
• Read web part property value
• Update web part property value
• Show in default properties pane
• Change settings, require checkout.
25
26. 6. Web.config
• Usually the first place ASP.NET Developers look
• We quickly find out that it’s a double edged sword
• Pros:
• Find file, open, add key/value pair, save … profit!
• 1 LOC to access data from app
• Cons:
• Farm solutions only (not for Sandbox Solutions)
• Have to update every WFE separately
• SPWebConfigModification should be used, which may “nuke” your
custom settings added manually, or “nuke” other manually entered
settings
• Need server access, admins only
• Either don’t use this, or use this for farm-wide settings that “need”
to be secured in web.config
• Better yet, use a nested web.config in your applications layouts
folder (saved in HIVE instead of INETPUT) 26
27. DEMO: Web.config
• Nested Web.config file in app “_layouts/<appname>”
• Custom Class: WebConfigHelper
• Designed to use modes, makes it easy to store different
environments together (ex. dev, test, staging, prod)
• GetMode(): get the current mode
• GetKey(): get the key associated with the current mode
• Custom application page:
• Retrieves single property and displays
27
28. 7. SPPersistedObject
• For storing settings at the Farm and Web Application level
• “There is no functional difference between the hierarchical object
storage and a property bag that is scoped at the SPFarm level, so
deciding which to choose is largely a matter of preference.”
• For storing multiple settings and more complex values
• Create a class that inherits SPPersistedObject
• Add your settings as properties
• Mark them as Persisted (with attribute)
• Then use SPFarm.GetChild or SPWebApplication.GetChild
• Settings saved in SP Config DB
• Cons:
• Requires Farm Admin to save settings
• Farm solutions only (not for Sandbox Solutions)
• There is no built in user interface to manage SPPersistedObjects
• Must impersonate Farm admin to read and write, since access to
Config database required (RunWithElevatedPrivs doesn’t help)
28
29. Bonus:
• Session State: not available by default in SP
• ViewState/Hidden Text Fields: use serialization, page level
• Cache: HTTPRuntime cache, AppPool level, watch out for load
balancing, great for caching expensive SPList/DB queries
• Cookies: use jQuery Cookie plugin
• HTML5 Web Storage: great for SPAs
• Window.localStorage, code.sessionStorage
29
33. Thanks!
• FREE GIVE AWAY, $100 value!
• SharePoint Metro Grid Web Part,
or, SharePoint Swipe Gallery Web Part
• For SharePoint 2010, 2013 (on prem. & cloud)
• Free download, 30 day trial, email me for free license*
• http://www.amrein.com/apps/page.asp?Q=5827
• http://www.amrein.com/apps/page.asp?Q=5853
• Email: bsteinhauser@bandrsolutions.com
• Presentation and Code: http://1drv.ms/1o7sZvu
* Product licensed per front-end server, offer is for 1 free license for 1 front-end server.
33
Take a picture of this slide!