Skip to content

Instantly share code, notes, and snippets.

@alirobe
alirobe / Convert-DocumentsToMachineReadable.ps1
Created April 12, 2023 12:44
Convert-DocumentsToMachineReadable.ps1
View Convert-DocumentsToMachineReadable.ps1
$popplerPath = ".\poppler\bin\pdftotext.exe"
$maxDocs = 1000
$inputPath = ".\source"
$outputPath = ".\dest"
function Convert-FilesToMarkdown {
param(
[string]$inputFolderPath,
[string]$outputFolderPath
)
@alirobe
alirobe / pnp-list-copy.ps1
Last active October 30, 2022 20:54
Copy list contents between lists in SharePoint using PnP
View pnp-list-copy.ps1
# authored @alirobe for @sopewebtech 2022-06-17
# pnp-list-copy.ps1 : https://gist.githubusercontent.com/alirobe/4187b0f073dc2eba5207f312a01ddab6/
# this copies list values from source to target
# before using this script, create a new list 'from existing list' in the same site
# then, plug values in below and run. should work for most field types. any issues let me know.
# todo: add batching, add field types
# licensed under GPL V2
$Site = "https://notproduction.sharepoint.com/sites/not-sproket-4/"
@alirobe
alirobe / SecureMediaController.cs
Last active November 23, 2023 02:36
Secure Media Controller for Umbraco v9 Cloud
View SecureMediaController.cs
using Microsoft.AspNetCore.Mvc;
using Umbraco.Cms.Core.Services;
using MimeKit;
using Umbraco.Cms.Core.Models;
using Umbraco.Cms.Core.IO;
namespace UmbracoProject.Controllers
{
public class SecureMediaController : Controller
{
@alirobe
alirobe / export-umbraco-redirects-for-seochecker.sql
Last active May 19, 2022 21:10
How to Migrate Umbraco Redirects into SEOChecker
View export-umbraco-redirects-for-seochecker.sql
SELECT replace(umbracoRedirectUrl.url, '1075/', '') as url
,umbracoNode.id
,umbracoRedirectUrl.contentKey
FROM umbracoRedirectUrl
INNER JOIN umbracoNode on umbracoRedirectUrl.contentKey = umbracoNode.uniqueID
# Run in SSMS, right click results and export to CSV. Import CSV to SEOChecker.
# NB replace 1075 with your root node ID
@alirobe
alirobe / PostToUrlAsJson.cs
Last active October 17, 2022 19:27
Umbraco Forms Workflow - POST to URL as JSON (with optional Bearer Access Token). Just place this file anywhere in your Umbraco+Forms project, and the dependency injection will pick it up. This will allow you to connect to Microsoft Flow or Zapier or any integration web service, from which you can send to Salesforce/Dynamics/etc.
View PostToUrlAsJson.cs
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Dynamic;
using System.Net;
using System.Text.RegularExpressions;
using Umbraco.Core.Logging;
using Umbraco.Forms.Core;
using Umbraco.Forms.Core.Attributes;
@alirobe
alirobe / SP2013-video-cewp-ios-restrictions.txt.html
Last active June 21, 2018 01:21
This is an iOS compatible method of embedding a video from SharePoint, if blob storage is not enabled.
View SP2013-video-cewp-ios-restrictions.txt.html
<!--
via: https://www.linkedin.com/pulse/play-video-file-from-sharepoint-document-library-mobile-hai-nguyen
alt: https://threewill.com/sharepoint-videos-in-ios-safari-iphone-ipad-unforgiving/
-->
<video controls="true" style="min-height:360px;width:100%;">
<source src="/PublishingImages/your-video.mp4">
Sorry, your browser does not support playback of this video.
</video>
<script>
if (/iPhone|iPad|iPod/i.test(navigator.userAgent) || document.location.search.indexOf('video-ios-test') != -1) {
@alirobe
alirobe / dotVscodeDir-extensions.json
Created May 17, 2018 05:57
Productive React & TypeScript Settings
View dotVscodeDir-extensions.json
{
"recommendations": [
"eg2.tslint",
"rbbit.typescript-hero",
"pmneo.tsimporter",
"esbenp.prettier-vscode",
"christian-kohler.path-intellisense",
"CoenraadS.bracket-pair-colorizer",
"eamodio.gitlens",
"ryu1kn.partial-diff",
@alirobe
alirobe / reduceCrmv9Spacing.js
Last active February 25, 2020 09:18
Reduce Dynamics 365 v9 Field Spacing
View reduceCrmv9Spacing.js
if(!window.parent.document.querySelector('style#v9removepadding')) {
var style = window.parent.document.createElement('style');
style.id = "v9removepadding";
style.innerText = ".acwallEmailView .emailexpandedaccordion { margin:0; width:100% } TABLE.ms-crm-FormSection td { padding: 4px 1px 1px 16px !important; min-height: 26px; }";
window.parent.document.body.appendChild(style);
}
@alirobe
alirobe / setupWindowsServer2016.ps1
Created September 15, 2017 07:37
setupWindowsServer2016.ps1
View setupWindowsServer2016.ps1
##########
# Tweaked Win10 Initial Setup Script
# Primary Author: Disassembler <disassembler@dasm.cz>
# Modified by: alirobe <alirobe@alirobe.com> based on my personal preferences.
# Version: 2.6.1, 2017-08-02
# Primary Author Source: https://github.com/Disassembler0/Win10-Initial-Setup-Script
# Tweaked Source: https://gist.github.com/alirobe/7f3b34ad89a159e6daa1/
# Tweak difference:
#
# @alirobe's version is a subset focused on safely disabling telemetry, 'smart' features, and 3rd party bloat ...
@alirobe
alirobe / MyContentFinder.cs
Created April 5, 2017 05:18
Umbraco "Legacy URL" IContentFinder
View MyContentFinder.cs
using Umbraco.Core;
using Umbraco.Core.Services;
using Umbraco.Web;
using Umbraco.Web.Routing;
using umbraco;
using System.Linq;
namespace MyUmbraco
{