using Sitecore.Shell.Framework.Commands;
using System;
using Sitecore.Web.UI.Sheer;
using System.IO;
using Sitecore.SecurityModel;
using System.Text;
using Sitecore.Diagnostics;
namespace SitecoreCustom.Web.Extensions.Commands
{
public class ExportSitecoreUsers : Command
{
string filepath = string.Empty;
public override void Execute(CommandContext context)
{
try
{
CreateFile();
if (!string.IsNullOrWhiteSpace(filepath))
SheerResponse.Download(filepath);
}
catch (Exception ex)
{
Log.Error(ex.Message, ex);
SheerResponse.Alert("Error Occurred: Please try again");
}
}
///
/// Create csv file with list of users.
///
private void CreateFile()
{
string fileExtension = ".csv";
string path = Sitecore.Configuration.Settings.DataFolder + "Export User";
if (!Directory.Exists(path))
Directory.CreateDirectory(path);
string fileName = "Sitecore_User";
fileName = fileName + "-" + DateTime.Now.ToString("MM-dd-yyyy_HH-mm-ss");
filepath = path + @"\" + fileName + fileExtension;
using (new SecurityDisabler())
{
var users = Sitecore.Security.Accounts.UserManager.GetUsers();
StringBuilder records = new StringBuilder();
records.Append(string.Format("{0},{1},{2},{3},{4},{5},{6},{7}",
"User Name",
"Domain",
"Fully Qualified Name",
"Full Name",
"Email",
"Comment",
"Language",
"Locked"));
foreach (var user in users)
{
try
{
if (user != null)
{
records.Append(Environment.NewLine);
records.Append(string.Format("{0},{1},{2},{3},{4},{5},{6},{7}",
user.LocalName,
user.Domain.Name,
user.DisplayName,
user.Profile.FullName,
user.Profile.Email,
user.Profile.Comment,
user.Profile.ClientLanguage,
user.Profile.State));
}
}
catch (Exception ex)
{
Log.Error(ex.Message, ex);
}
}
using (var writer = new StreamWriter(filepath, false))
{
writer.WriteLine(records.ToString());
writer.Close();
}
}
}
}
}
These custom code files can also be downloaded from here
If you are a beginner in Sitecore JSS and you are looking step-by-step by process to setup your first JSS App with Sitecore, please proceed further and setup up your first JSS App along with deploying it to Sitecore. Before we jump start creating JSS APP, let us start with a quick introduction to Sitecore JSS. What is Sitecore JSS? Sitecore JavaScript Services (JSS) is a complete SDK for JavaScript developers that enables you to build full-fledged solutions using Sitecore and modern JavaScript UI libraries and frameworks. Build Headless JavaScript applications with the power of Sitecore. Use your favorite JavaScript framework powered by an enterprise experience platform like React, Angular or Vue.js. Prerequisites for Connected mode with Sitecore Required Installations node.js v6.9 or later npm v5.7 or later Sitecore 9 or later installation with JSS(For JSS component ref, https://dev.sitecore.net/Downloads/Sitecore_JavaScript_Services.aspx) Required Settings ...
Comments
Post a Comment