MetroShare Solutions Logo
Tech Spec: This is a .NET Core 3.1 web application with a C# MVC front-end and a SharePoint Online back-end (read more)
Introducing MetroShareGPT!
Guitar Chord of the Day! Enable this Alexa skill today...
Top 5
Join us weekdays @ 9pm EST
Check out the Color Contrast Calculator & Corrector
Top 5 Things I Learned as a Software Developer during my last project
Recruiters Click Here!
Enable this Alexa Skill today!
Privacy Policy

Software Consulting Services


We have the experience to help you manage your Scrum project and deliver value consistently throughout the DevOps process. Below is a sample of services that we have provided to some of our customers.

SharePoint Server
  • Migrations from on-premises to cloud
  • Security management and site configuration
  • Custom workflows / automated data processing
  • Intranet portal site design & development
Office 365
  • Custom app development
  • Microsoft Teams configuration
  • Training & Lab Sessions
  • Tenant administration
Azure Cloud Computing Services
  • Web application deployment
  • Database configuration
  • Single sign-on (SSO) connectors
  • Hybrid solutions
Other Services
  • Quality assurance testing
  • Boutique app development (ie. Alexa Skills)
  • Graphic design, A/V production
  • Technical presentations & demonstrations

Free Initial Consultation


If you would like to discuss a service listed above or if there is something that you do not see listed here, please Contact The Team and we will be happy to provide you with an initial consultation at no charge.

What is Scrum?




From Microsoft.com: Scrum is a framework used by teams to manage their work. Scrum implements the principles of Agile as a concrete set of artifacts, practices, and roles.

Read More



What is DevOps?




From Microsoft.com: DevOps is the union of people, process, and products to enable continuous delivery of value to our end users.

Read More

Custom Apps


MetroShare Talk Teams

Ask Alexa to dictate posts from a Microsoft Teams conversation.

View More Details

MetroShare Branding Machine

Create custom themes for Modern SharePoint sites. No PowerShell necessary.

View More Details

MetroShare Mail Thing

Transfer email content from Outlook to SharePoint, OneDrive, and OneNote. Export messages as PDF, DOCX, EML, or HTML.

View More Details

MetroShare Time Machine

Calculate how long it might take for a user to read an email before you send it.

View More Details

About Us


Hello World!

MetroShare Solutions, LLC was established in 2013 with the spirit of advancing the usability and knowledge of SharePoint technologies throughout the Greater Boston Area and beyond.

Our organization specializes in various areas of DevOps such as requirements gathering, translation and automation of the business process, custom development with an emphasis in user experience, technical documentation, user guides, and training.

We are professional and hands on. We are certified consultants that enjoy working with people at every skill level.


     

Connect with the Team


Send the MetroShare Team an email and we will do our best to respond within 24 hours.

Your name:


Your email address:


Your message:


Open for Business


We are currently seeking new clients, C2C contracts, and development partners in the Greater Boston Area or remotely around the world. No project is too big or too small and no distance is too far. If you would like to get in touch, please contact us at any time.

Joseph Parzel, Founder
Joseph@MetroShareSolutions.com
By Telephone
+1-857-321-8555
Tweet us
@MetroShare

If we are unable to take your call, please leave a message. A transcript of your voicemail will be created automatically and immediately sent to the MetroShare Team Inbox.

Our Privacy Policy


MetroShare Solutions LLC Privacy Policy
This privacy policy has been compiled to better serve those who are concerned with how their 'Personally identifiable information' (PII) is being used online. PII, as used in US privacy law and information security, is information that can be used on its own or with other information to identify, contact, or locate a single person, or to identify an individual in context. Please read our privacy policy carefully to get a clear understanding of how we collect, use, protect or otherwise handle your Personally Identifiable Information in accordance with our website.
What personal information do we collect from the people that visit our blog, website or app?
When ordering or registering on our site, as appropriate, you may be asked to enter your name, email address, phone number, credit card information or other details to help you with your experience.
When do we collect information?
We collect information from you when you register on our site, place an order, subscribe to a newsletter, respond to a survey, fill out a form or enter information on our site.
How do we use your information?
We may use the information we collect from you when you register, make a purchase, sign up for our newsletter, respond to a survey or marketing communication, surf the website, or use certain other site features in the following ways:
- To personalize user's experience and to allow us to deliver the type of content and product offerings in which you are most interested.
- To improve our website in order to better serve you.
- To allow us to better service you in responding to your customer service requests.
- To administer a contest, promotion, survey or other site feature.
- To quickly process your transactions.
- To send periodic emails regarding your order or other products and services.
How do we protect visitor information?
We do not use vulnerability scanning and/or scanning to PCI standards.
We use regular Malware Scanning.
Your personal information is contained behind secured networks and is only accessible by a limited number of persons who have special access rights to such systems, and are required to keep the information confidential. In addition, all sensitive/credit information you supply is encrypted via Secure Socket Layer (SSL) technology.
We implement a variety of security measures when a user places an order enters, submits, or accesses their information to maintain the safety of your personal information.
All transactions are processed through a gateway provider and are not stored or processed on our servers.
Do we use 'cookies'?
We do not use cookies for tracking purposes
You can choose to have your computer warn you each time a cookie is being sent, or you can choose to turn off all cookies. You do this through your browser (like Internet Explorer) settings. Each browser is a little different, so look at your browser's Help menu to learn the correct way to modify your cookies.
If you disable cookies off, some features will be disabled that make your site experience more efficient and some of our services will not function properly.
However, you can still place orders .
Third Party Disclosure
We do not sell, trade, or otherwise transfer to outside parties your personally identifiable information.
Third party links
Occasionally, at our discretion, we may include or offer third party products or services on our website. These third party sites have separate and independent privacy policies. We therefore have no responsibility or liability for the content and activities of these linked sites. Nonetheless, we seek to protect the integrity of our site and welcome any feedback about these sites.
Google
Google's advertising requirements can be summed up by Google's Advertising Principles. They are put in place to provide a positive experience for users. https://support.google.com/adwordspolicy/answer/1316548?hl=en
We have not enabled Google AdSense on our site but we may do so in the future.
California Online Privacy Protection Act
CalOPPA is the first state law in the nation to require commercial websites and online services to post a privacy policy. The law's reach stretches well beyond California to require a person or company in the United States (and conceivably the world) that operates websites collecting personally identifiable information from California consumers to post a conspicuous privacy policy on its website stating exactly the information being collected and those individuals with whom it is being shared, and to comply with this policy. - See more at: http://consumercal.org/california-online-privacy-protection-act-caloppa/#sthash.0FdRbT51.dpuf
According to CalOPPA we agree to the following:
Users can visit our site anonymously
Once this privacy policy is created, we will add a link to it on our home page, or as a minimum on the first significant page after entering our website.
Our Privacy Policy link includes the word 'Privacy', and can be easily be found on the page specified above.
Users will be notified of any privacy policy changes:
- On our Privacy Policy Page
Users are able to change their personal information:
- By emailing us
- By calling us
- By logging in to their account
- By chatting with us or sending us a ticket
How does our site handle do not track signals?
We honor do not track signals and do not track, plant cookies, or use advertising when a Do Not Track (DNT) browser mechanism is in place.
Does our site allow third party behavioral tracking?
It's also important to note that we do not allow third party behavioral tracking
COPPA (Children Online Privacy Protection Act)
When it comes to the collection of personal information from children under 13, the Children's Online Privacy Protection Act (COPPA) puts parents in control. The Federal Trade Commission, the nation's consumer protection agency, enforces the COPPA Rule, which spells out what operators of websites and online services must do to protect children's privacy and safety online.
We do not specifically market to children under 13.
Fair Information Practices
The Fair Information Practices Principles form the backbone of privacy law in the United States and the concepts they include have played a significant role in the development of data protection laws around the globe. Understanding the Fair Information Practice Principles and how they should be implemented is critical to comply with the various privacy laws that protect personal information.
In order to be in line with Fair Information Practices we will take the following responsive action, should a data breach occur:
We will notify the users via email
- Within 1 business day
We will notify the users via in site notification
- Within 1 business day
We also agree to the individual redress principle, which requires that individuals have a right to pursue legally enforceable rights against data collectors and processors who fail to adhere to the law. This principle requires not only that individuals have enforceable rights against data users, but also that individuals have recourse to courts or a government agency to investigate and/or prosecute non-compliance by data processors.
CAN SPAM Act
The CAN-SPAM Act is a law that sets the rules for commercial email, establishes requirements for commercial messages, gives recipients the right to have emails stopped from being sent to them, and spells out tough penalties for violations.
We collect your email address in order to:
- Send information, respond to inquiries, and/or other requests or questions.
- Process orders and to send information and updates pertaining to orders
- We may also send you additional information related to your product and/or service.
To be in accordance with CANSPAM we agree to the following:
- NOT use false, or misleading subjects or email addresses
- Identify the message as an advertisement in some reasonable way
- Include the physical address of our business or site headquarters
- Monitor third party email marketing services for compliance, if one is used.
- Honor opt-out/unsubscribe requests quickly
- Allow users to unsubscribe by using the link at the bottom of each email
If at any time you would like to unsubscribe from receiving future emails, you can email us at
- Follow the instructions at the bottom of each email.
and we will promptly remove you from ALL correspondence.
Contacting Us
If there are any questions regarding this privacy policy you may contact us using the information below.
MetroShare Solutions LLC
PO Box 15493
Boston
Massachusetts
02215
United States
team@metrosharesolutions.com
8573218555
Last Edited on 2020-01-07

Technical Specification


This web application was built using many of the latest software development technologies currently offered by Microsoft. Content for this website is managed by SharePoint Online while the infrastructure (as a service) of the solution runs within the Office 365 / Azure cloud.

Software Development Technologies

Integrated Development Environment - Visual Studio 2019
https://visualstudio.microsoft.com/vs/

Programming Language - C# MVC app implemented using .NET Core 3.1 framework
https://dotnet.microsoft.com/download/dotnet-core/3.1

Class Libraries - Microsoft.SharePointOnline.CSOM, MailKit
https://www.nuget.org/packages/Microsoft.SharePointOnline.CSOM/
https://docs.microsoft.com/en-us/dotnet/api/system.net.mail.smtpclient?view=netcore-3.1

Project Code Repository - Hosted and managed in the cloud using Azure DevOps
https://azure.microsoft.com/en-us/services/devops/

Web Application - Published to Azure Web Services, custom domains added
https://docs.microsoft.com/en-us/azure/app-service/app-service-web-get-started-dotnet

Database - SharePoint Online (used to manage "News Items" and other assets)
https://docs.microsoft.com/en-us/sharepoint/external-sharing-overview

Upgrades from the Previous Website

  • Code base migrated from PHP script to managed .NET
  • Forced HTTPS secure communication w/ custom SSL certificates
  • No more HTML <table> tags; Bootstrap.js implemented
  • Content migrated from MySQL database tables to Modern SharePoint lists / libraries
  • New tabbed UX; updated website content, images and links

Future Website Updates

  • Custom 404 Page / Catch all URLs (get full use of MVC)
  • Publish more site assets into SharePoint
  • Connect to the Graph API for expanded functionality
  • Implement reCaptcha on the Contact tab
  • Fix navigation issues and other bugs

Thank You

Thank you for visiting our newly upgraded website. Please don't hesitate to Contact The Team with your comments, questions and suggestions.



Last Updated: August 2021


Screenshots



Visual Studio 2019 / .NET Core 3.1
Microsoft.SharePointOnline.CSOM


Azure DevOps Dashboard / Code Repository


Azure Web Application Dashboard


SharePoint List View
(controls Welcome tab "News Items")

Color Contrast Calculator & Corrector


From W3.org: In order to meet Success Criterion 1.4.3 Contrast (Minimum) of Web Content Accessibility Guidelines 2.0, the visual presentation of text and images of text must have a contrast ratio of at least 4.5 to 1. The intent of this Success Criterion is to provide enough contrast between text and its background so that it can be read by people with moderately low vision.

In simpler terms, this means that text colors must be very dark and background colors must be very light (or vice versa). Using the following equations, we can determine the contrast ratio of two colors:

C = (L1 + 0.05) / (L2 + 0.05) where L1 >= L2 and

L = (0.2126 * R) + (0.7152 * G) + (0.0722 * B) for each color

Remember, we are looking for a contrast ratio of 4.5:1 or higher with 21:1 being the highest possible contrast ratio and 1:1 being the lowest (imagine that as white text on white background). With the Color Contrast Calculator & Corrector, we can determine the contrast ratio and adjust the colors until that minimum threshold of 4.5 is reached.

Please review the Colors Tutorial on w3schools.com for a refresher on how web colors are formed.
Color 1
(Text Color)

R
G
B
Relative Luminance
(Color 1)
L =
Color 2
(Background color)

R
G
B
Relative Luminance
(Color 2)
L =
Contrast Ratio
C = : 1
   
Before
Here is some sample text.
After
Here is some sample text.

MetroShare Talk Teams




Version 1.4.10.0

Enable the Skill: Amazon Alexa Skill Store
Product Description: Ask Alexa to dictate Posts from a Microsoft Teams conversation.

Note: You must be able to consent to the following Office 365 Graph scopes. We recommend that you speak with your Office 365 administrator.

  • User.Read
    (to sign you in to Microsoft Graph)
  • User.Read.All
    (to obtain your list of joined teams)
  • Group.Read.All
    (to read messages within a group / team)
  • offline_access
    (to keep the skill logged in)

More Information:

Microsoft Docs - List Joined Teams
Microsoft Docs - List Channel Messages

Latest Features:

  • Retrieve messages with "at" mentions - "Alexa, ask Talk Teams to get my mentions"

Known Limitations:

  • Returns a limited number of messages, no message paging
  • Message sets that are too large are not split or returned (max 8000 characters)
  • Does not return replies to messages / full message threads
  • Does not return private chats
  • Cannot skip / rewind messages
  • No push notifications for new posts

Feature Requests: Some of these features will become available at a later time.

  • Retrieve messages with "at" mentions
  • Retrieve messages in a thread that's being followed
  • Retrieve unread DM's
  • Vocally reply to messages
App Compatibility: Microsoft Teams, Amazon Alexa

Sample Commands


First say "Alexa, Talk Teams!"


- NOW TRY -

"Get today's posts"

"List my teams"

"Get my mentions from all teams"

"List channels from team xyz"

"Get posts from Monday"

"Get posts from the weekend"

"Get posts from last night"

"More tips" (or "Help")


- SHORTCUTS -

  • Instead of saying "All Teams" you can just say "All"
  • Same goes for "List My Teams" - instead just say "Teams"
  • Saying only the first word of a team name can work somtimes
  • Example: If the team name is "Product Sales Team" just say "Product"
  • Access data faster by adding commands to the skill startup phrase
  • Example: You can say "Alexa, ask Talk Teams to get yesterday's posts"

Brand Color Test


Data source: https://brandcolors.net/

Results


Wikipedia

#000000
Test
21 : 1
PASS
N/A