tag:blogger.com,1999:blog-55893434473234303122024-03-14T08:12:18.453-04:00Explorationsinto Sitecore and .NetDan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.comBlogger92125tag:blogger.com,1999:blog-5589343447323430312.post-89393170261072723402023-09-03T23:22:00.004-04:002023-09-03T23:22:28.222-04:00Setting up NGROK to hit multiple endpoints<p> NGROK is a very useful developer tool for working with cloud based services, as it allows testing workflows where those services have to call back to your machine. With NGROK, you can create a temporary public address to hit an endpoint on your machine, so say, a workflow in Pipedream.com could hit a GraphQL endpoint to make content updates.<span></span></p><a name='more'></a><p></p><p>NGROK now supports hitting local HTTPS endpoints, and through the use of configuration, allows you to define tunnets to multiple services on your PC. This is helpful so that you can expose both your CM and your ID endpoint.</p><p>To take advantage of this, when you register for NGROK, on the get-started page <a href="https://dashboard.ngrok.com/get-started/setup">Setup - ngrok</a>, make sure to run the "ngrok config add-authtoken <value>" to enable advanced features. </p><p>Then go to $env:LOCALAPPSETTINGS\ngrok\ngrok.yml and add something like this (for XM1 configuration):<br /></p><div style="text-align: left;"><span style="font-family: courier;"><br />tunnels:<br /> cm:<br /> proto: http<br /> addr: https://xm1cm.localhost<br /> host_header: rewrite<br /> cd:<br /> proto: http<br /> addr: https://xm1cd.localhost<br /> host_header: rewrite<br /> id:<br /> proto: http<br /> addr: https://xm1id.localhost<br /> host_header: rewrite</span></div><div style="text-align: left;"><span style="font-family: courier;"><br /></span></div><div style="text-align: left;"><br /></div><div style="text-align: left;">The "rewrite" line tells NGROK to rewrite the host header entry to match the URL. This is necessary or Traefik (and presumalby IIS) will return a 404.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Now run this to create endpoints:<br /><br />>ngrok.exe start cm cd id<br /><br />Three tunnels will be created, and the URLs will be accessible on your command prompt: <br /><br /><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEit6SGe1xTNnta_qyAa1RDOwuLQmBZqOv0QxGxm8TfgPwG5vQ8mHvm0wgYHS22DkxSYKfFan-nEdrvWaxlMDRt3VhhtfTIEgKjpBI6HlnK2Sr6c11uSYc25p-HjHVc6fMyX5ilQ1hBWQMTYJOqBlyDE5B7nREw6e3K4wrdX8H_DXl6TUkMnns17HRHtiMc" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="446" data-original-width="1624" height="176" src="https://blogger.googleusercontent.com/img/a/AVvXsEit6SGe1xTNnta_qyAa1RDOwuLQmBZqOv0QxGxm8TfgPwG5vQ8mHvm0wgYHS22DkxSYKfFan-nEdrvWaxlMDRt3VhhtfTIEgKjpBI6HlnK2Sr6c11uSYc25p-HjHVc6fMyX5ilQ1hBWQMTYJOqBlyDE5B7nREw6e3K4wrdX8H_DXl6TUkMnns17HRHtiMc=w640-h176" width="640" /></a></div><br />And at NGROK <a href="https://dashboard.ngrok.com/cloud-edge/endpoints">Endpoints - ngrok</a>:<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhzCoW3mtIzBxOD9pkavGSJAS-1VJayBKOuXX3NWK8jyQ42Q6KiwSRazZOUFT8siQa-n1nt7780tk0TzVnC0ykHEuhGnUSGcpfvfe6fDnjD6cmFyLc40gp-EpRo4YeGY5EShhyjeEm5OIXshWkEGpPhVDDDLix3xSiAKZ-HfFslRE9yxAdkiTWPf_tvsJ8" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="817" data-original-width="1875" height="278" src="https://blogger.googleusercontent.com/img/a/AVvXsEhzCoW3mtIzBxOD9pkavGSJAS-1VJayBKOuXX3NWK8jyQ42Q6KiwSRazZOUFT8siQa-n1nt7780tk0TzVnC0ykHEuhGnUSGcpfvfe6fDnjD6cmFyLc40gp-EpRo4YeGY5EShhyjeEm5OIXshWkEGpPhVDDDLix3xSiAKZ-HfFslRE9yxAdkiTWPf_tvsJ8=w640-h278" width="640" /></a></div><br />Once you hit Control-C on the prompt where you are running NGROK, those URLs go away, and new ones will be generated for you the next time. (You can keep them on the paid plan.)</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Now hitting the first URL returns this:<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhfOUrSyG1AFQrQvkmlGZvIl9Bm-BVDNS87FVFwqY1fq8dZsZXP8hCA6sYLKGV9KT8ZkEMlo372t3fUIkpOvwNGqoskAd4UqDFH8ZaVS6QVSNxjHUyZjJCihDqpnVnePuVLoP5KZrpyG3AKpRstEnqTgr1477ogqY82w58K9y3jh823Bcq9eiO-cB8bkcs" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="974" data-original-width="1703" height="183" src="https://blogger.googleusercontent.com/img/a/AVvXsEhfOUrSyG1AFQrQvkmlGZvIl9Bm-BVDNS87FVFwqY1fq8dZsZXP8hCA6sYLKGV9KT8ZkEMlo372t3fUIkpOvwNGqoskAd4UqDFH8ZaVS6QVSNxjHUyZjJCihDqpnVnePuVLoP5KZrpyG3AKpRstEnqTgr1477ogqY82w58K9y3jh823Bcq9eiO-cB8bkcs" width="320" /></a></div><br />And hitting the second gets this: <br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhKzCWH1fRTuJoKPD4nBku09Wf7Nv10s92Bh7CFjkLKTpn_W0Cjfk_4VpPAPE6JNXvTGf8cmNJJzJtjU5j1trVVqs4eRhkwtPRnEMQBpfZiZVZWJZaXSc2RroCDUZGShuPl2Jg1nmFxNGGp-7e4xZOL3pno84_9BbYfSHux6_znWurP1cQYx6q_tFwaezE" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="844" data-original-width="1559" height="173" src="https://blogger.googleusercontent.com/img/a/AVvXsEhKzCWH1fRTuJoKPD4nBku09Wf7Nv10s92Bh7CFjkLKTpn_W0Cjfk_4VpPAPE6JNXvTGf8cmNJJzJtjU5j1trVVqs4eRhkwtPRnEMQBpfZiZVZWJZaXSc2RroCDUZGShuPl2Jg1nmFxNGGp-7e4xZOL3pno84_9BbYfSHux6_znWurP1cQYx6q_tFwaezE" width="320" /></a></div><br /><br /></div><div style="text-align: left;">Happy cloud service coding!</div><p></p>Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-89078123838878085292023-03-05T00:07:00.001-05:002023-03-05T00:08:26.835-05:00Command line BACPACs to Docker SQL Server instancesA quick walkthrough of creating a Docker SQL instance, pushing data to it, taking a backup from the host command line (using BACPAC format) and pushing that data to a new instance. This made me feel a bit more confident working with SQL from the command line, and especially working with backups, which should make scripting these actions a bit easier.<span><a name='more'></a></span><div><br /></div><h4 style="text-align: left;">A New SQL Instance</h4><div>We'll use Docker to create a brand-new SQL instance. Because Microsoft no longer releases SQL Server on Windows, we'll need to use Docker in Linux mode. The following commands will launch a SQL Server instance running with the free "Developer Edition".</div><div><br /></div><div><b><span style="font-family: inherit;">docker pull mcr.microsoft.com/mssql/server:2022-latest</span></b></div><div><b><span style="font-family: inherit;"><br /></span></b></div><div><div><b><span style="font-family: inherit;">docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Password12345" `</span></b></div><div><b><span style="font-family: inherit;"> -p 1433:1433 --name sql1 --hostname sql1 `</span></b></div><div><b><span style="font-family: inherit;"> -d mcr.microsoft.com/mssql/server:2022-latest</span></b></div></div><div><div><br /></div><div>(If you have SQL Server running locally, you may need to change that to something like -p 14330:1433, and update the following steps to use your new port number.) </div></div><div> <div><br /></div></div><div>Now you have SQL Server running. (Note, if you stop and recreate the container, your data will be lost. See Docker's volumes for how to avoid that. But that's out of scope for this post.)</div><div><br /></div><h4 style="text-align: left;">Running T-SQL Commands</h4><div><br /></div><div>We can run T-SQL commands from within the container by doing this:</div><div><b><br /></b></div><div><b>docker exec -it sql1 bash</b></div><div><b>/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P Password12345</b></div><div><br /></div><div>Try running this:</div><div><br /></div><div><b>select name from sys.databases;</b></div><div><b>go</b></div><div><br /></div><div>You should see something like this:</div><div><div>name</div><div>---------------------------------------------------------------------------------------------------------------------------</div><div>master</div><div>tempdb</div><div>model</div><div>msdb</div></div><div><br /></div><div><br /></div><div>We've been following steps from this article: <a href="https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&pivots=cs1-bash#insert-data">Docker: Install containers for SQL Server on Linux - SQL Server | Microsoft Learn</a>. Go to the section <a href="https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&pivots=cs1-bash#insert-data" target="_blank">Insert Data</a> for steps to create an Inventory table with two rows. When you can run "Select * from inventory; GO" and see your data, come back here.</div><div><br /></div><h4 style="text-align: left;">Creating the BACPAC</h4><div><br /></div><div>BACPAC files are Microsoft's version agnostic backup method. They are required for taking backups from SQL Azure and are also useful for sharing backups in a way that avoids issues with SQL Server visions, which come up with the standard backup (.bak) format.</div><div><br /></div><div>First, we need SQLPACKAGE.exe. Try that on your command line. If not found, you can install with </div><div><br /></div><div><b>dotnet tool install -g microsoft.sqlpackage</b></div><div><br /></div><div>When that's done, run SQLPACKAGE to confirm it runs. In my case, I got an error beacuse I didn't have the right .NET version loaded (6.0), so was prompted to fix that. Clicking the provided link and running the installer fixed the issue.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEikFI-X6ATwztnnqqSY9NbLuE0uRvFKtmKp96sTawUCB3yDXwaSDZNDkjlTqEMF9iZhJB469Pdbwev1xSDa7qP-pRA17LPxv2ehwfLX77IBGQ_rApkqeuNQNLuEl92ePqUQiErZ8ZySrxxF-0U2GdkQ3LZTcJOGsoKpf3sRWCaTbarO2KaAqHz9L1OA" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="752" data-original-width="2264" height="212" src="https://blogger.googleusercontent.com/img/a/AVvXsEikFI-X6ATwztnnqqSY9NbLuE0uRvFKtmKp96sTawUCB3yDXwaSDZNDkjlTqEMF9iZhJB469Pdbwev1xSDa7qP-pRA17LPxv2ehwfLX77IBGQ_rApkqeuNQNLuEl92ePqUQiErZ8ZySrxxF-0U2GdkQ3LZTcJOGsoKpf3sRWCaTbarO2KaAqHz9L1OA=w640-h212" width="640" /></a></div><br /><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div><br /></div><div>Once you get the very detailed parameter options in response to <b>sqlpackage </b>we are ready to run our export.</div><div><br /></div><div>This syntax worked nicely for me. You'll need to update passwords and ports, etc.</div><div><br /></div><div><div><b>sqlpackage.exe /Action:export /SourceServerName:127.0.0.1,1433 `</b></div><div><b>/SourceDatabaseName:TestDB /SourceUser:sa /SourcePassword:</b><b>Password12345 ` /TargetFile:test1.bacpac /SourceTrustServerCertificate:true</b></div></div><div><br /></div><div>Or if you prefer abbreviations:</div><div><b>sqlpackage.exe /action:export /ssn:127.0.0.1,1433 /sdn:TestDB /su:sa /sp:Password12345 ` /tf:test1.bacpac /sourcetrustservercertificate:true</b></div><div> </div><div>If all goes well, you should see output like this:</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgfXBC7eX5mZhzewW6faRW5BlF8mb0JB6MDNVRyecr7VkmFh5DvAOs_UpzqiaiRTKGl7vuk1uF3gcEw_lOp2a_GRzKB83AaKtdBwRxZikIEn8Pd3VNv6LK4pVYjh__4IVhPAvedFcSgZ3SOX_ZHMIq4HrOVL4olcud7YF_xosmGnmrKV9j8urksmdSZ" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="666" data-original-width="2665" height="160" src="https://blogger.googleusercontent.com/img/a/AVvXsEgfXBC7eX5mZhzewW6faRW5BlF8mb0JB6MDNVRyecr7VkmFh5DvAOs_UpzqiaiRTKGl7vuk1uF3gcEw_lOp2a_GRzKB83AaKtdBwRxZikIEn8Pd3VNv6LK4pVYjh__4IVhPAvedFcSgZ3SOX_ZHMIq4HrOVL4olcud7YF_xosmGnmrKV9j8urksmdSZ=w640-h160" width="640" /></a></div><br /><br /></div><div><br /></div><div>With the backup file created, we can test restoring it to a new database, "TestDB2":</div><div><b><br /></b></div><div><b>sqlpackage.exe /action:import /tsn:127.0.0.1,1433 /tdn:TestDB2 /tu:sa /tp:Password12345 ` /sf:test.bacpac /targettrustservercertificate:true</b></div><div><b><br /></b></div><div>Note that the "s" (source) and "t" (target) values have been flipped.</div><div><br /></div><div>You should see something like this:</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgZwZb3G7NnC03wrdwpiN8nikOta9b_vNVCZEfFJei2rZmyrYBoHFDGcRekwz6WzOCpTSMVk1BWfygffzgP98iUgYRe0kSFEHPFiOq-7oB8nuEY-jJoq2HC7olnvlzNFlZ_kO6nkIbaeUOkxeZRoESNyMYg-ywzIhVpedFSqfLHbq1ljnKWDT1BlXVa" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="729" data-original-width="2729" height="170" src="https://blogger.googleusercontent.com/img/a/AVvXsEgZwZb3G7NnC03wrdwpiN8nikOta9b_vNVCZEfFJei2rZmyrYBoHFDGcRekwz6WzOCpTSMVk1BWfygffzgP98iUgYRe0kSFEHPFiOq-7oB8nuEY-jJoq2HC7olnvlzNFlZ_kO6nkIbaeUOkxeZRoESNyMYg-ywzIhVpedFSqfLHbq1ljnKWDT1BlXVa=w640-h170" width="640" /></a></div><br /><br /></div><div>And you can verify your data is there with this one-liner:</div><div><br /></div><div><b> docker exec sql1 /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P Password12345 `</b></div><div><b>-d TestDB2 -q "select * from Inventory"</b></div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjfLshmRJNv4Oz7fLE2YJYvBILVQuqkPmDIvyk0TYL0y_U1DfAC-uskcoPNvG6UK6LWPGJr11-9T5a2lhsne4vTZdGOaV9trJcVpHoEbOm1Pk445j1s7KAptPYAF9Nvk8QtDsbcrRE7J-0qXuV0P7ayiSMNa1y0RykmHbU5mRwrAaQ85cxKBMivYDz8" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="310" data-original-width="2662" height="74" src="https://blogger.googleusercontent.com/img/a/AVvXsEjfLshmRJNv4Oz7fLE2YJYvBILVQuqkPmDIvyk0TYL0y_U1DfAC-uskcoPNvG6UK6LWPGJr11-9T5a2lhsne4vTZdGOaV9trJcVpHoEbOm1Pk445j1s7KAptPYAF9Nvk8QtDsbcrRE7J-0qXuV0P7ayiSMNa1y0RykmHbU5mRwrAaQ85cxKBMivYDz8=w640-h74" width="640" /></a></div><br /><br /></div><br />Note: On my machine, SQLCMD was available on my host, so I could also run this from my host:<br /><br /><b>sqlcmd -S localhost -U SA -P Password12345 -d TestDB2 -Q "select * from Inventory"</b></div><div><br /></div><div>But that may be available because I installed SQL Server on my host earlier, so in the walkthrough I stuck with running this command from within the container. And if you changed your port number, you'll need to pass "-S localhost,14330" etc. Note the comma, not a colon, before the port number, which is pretty standard with SQL Server connections. Also note that when passing the query, -q keeps a prompt open for further SQL commands, but -Q returns immediately. Run sqlcommand -? for all the options.<br /><br /></div><div><br /></div><div><b>Further Reading</b><br /></div><div><br /></div><div>Here are the posts that helped me get this working, or give more information on topics discussed:</div><div><br /></div><div><ul style="text-align: left;"><li>Setting up MSSQL on Docker: <a href="https://learn.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&pivots=cs1-bash">Docker: Install containers for SQL Server on Linux - SQL Server | Microsoft Learn</a></li><li>Working with SQLPACKAGE: <a href="https://www.sqlshack.com/sqlpackage-exe-automate-sql-server-database-restoration-using-bacpac-with-powershell-or-batch-techniques/">SqlPackage.exe - Automate SQL Server Database Restoration using bacpac with PowerShell or Batch techniques (sqlshack.com)</a></li><li>Installing SQLPACKAGE: <a href="https://learn.microsoft.com/en-us/sql/tools/sqlpackage/sqlpackage-download?view=sql-server-ver16">Download and install SqlPackage - SQL Server | Microsoft Learn</a></li><li>Microsoft discontinuing Windows images for SQL Server: <a href="https://techcommunity.microsoft.com/t5/sql-server-blog/update-beta-program-for-sql-server-on-windows-container-is/ba-p/2516639">Update- Beta program for SQL Server on Windows container is suspended. - Microsoft Community Hub</a></li><li>Installing a BACPAC using SQL-Server Management Studio (SSMS): <a href="https://learn.microsoft.com/en-us/sql/relational-databases/data-tier-applications/import-a-bacpac-file-to-create-a-new-user-database?view=sql-server-ver16">Import a BACPAC file to create a new user database - SQL Server | Microsoft Learn</a></li></ul></div><div><br /></div><div><br /></div>Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-66455149729409273782023-01-04T00:15:00.000-05:002023-01-04T00:15:07.242-05:00Using Postman to Authenticate to GraphQLWith the release of Sitecore 10.3, a whole bunch of new capabilities have come into GraphQL, such as the ability to create items and templates, do index rebuilds, publish items, and so forth. But the documentation for setting up authentication to these services is somewhat intimidating, requiring you to build an MVC controller just to sign in. In fact, it's pretty simple to set authentication with Postman too, which will be a familiar option for those who have worked with Sitecore Commerce.<span><a name='more'></a></span><div>First step, enable GraphQL. You can do that by dropping this file in your App_Config/Environments folder:<br /><br /><div style="line-height: 19px;"><div style="background-color: #002451; color: white; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #ff9da4;"><?xml version=</span><span style="color: #d1f1a9;">"1.0"</span><span style="color: #ff9da4;"> encoding=</span><span style="color: #d1f1a9;">"UTF-8"</span><span style="color: #ff9da4;">?></span></div><div style="background-color: #002451; color: white; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #ff9da4;"><sitecore xmlns:set=</span><span style="color: #d1f1a9;">"http://www.sitecore.net/xmlconfig/set"</span><span style="color: #ff9da4;">></span></div><div style="background-color: #002451; color: white; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #ff9da4;"><settings></span></div><div style="background-color: #002451; color: white; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #ff9da4;"><setting name=</span><span style="color: #d1f1a9;">"GraphQL.Enabled"</span><span style="color: #ff9da4;"> set:value=</span><span style="color: #d1f1a9;">"true"</span><span style="color: #ff9da4;"> /></span></div><div style="background-color: #002451; color: white; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #ff9da4;"><setting name=</span><span style="color: #d1f1a9;">"GraphQL.ExposePlayground"</span><span style="color: #ff9da4;"> set:value=</span><span style="color: #d1f1a9;">"true"</span><span style="color: #ff9da4;"> /></span></div><div style="background-color: #002451; color: white; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"> <span style="color: #ff9da4;"></settings></span></div><div style="background-color: #002451; color: white; font-family: Consolas, "Courier New", monospace; font-size: 14px; white-space: pre;"><span style="color: #ff9da4;"></sitecore></span></div><br />Now you should be able to hit the GraphQL playground at this URL:<br /><br />https://<site root>/sitecore/api/authoring/graphql/playground/</div></div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;">The first time you open this, you may see this displayed on the right:<br /><br /><div style="line-height: 19px;">{</div><div style="line-height: 19px;"> "error": "Unexpected token '<', \"<!DOCTYPE \"... is not valid JSON"</div><div style="line-height: 19px;">}</div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;">You can fix this by updating the URL bar inside the tool to point to:</div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><span style="font-family: courier;">https://stock103sc.dev.local:443/sitecore/api/authoring/graphql/v1/</span></div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;">and change the panel on the left to have a valid query, like</div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><span style="font-family: courier;">query {sites { name }}</span></div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;">Now you should see a valid GraphQL response, indicating you are not authenticated.</div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><div style="line-height: 19px;"><span style="font-family: courier;">{</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "errors": [</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> {</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "message": "The current user is not authorized to access this resource.",</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "locations": [</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> {</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "line": 2,</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "column": 3</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> }</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> ],</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "path": [</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "sites"</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> ],</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "extensions": {</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "code": "AUTH_NOT_AUTHENTICATED"</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> }</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> }</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> ],</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "data": {</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> "sites": null</span></div><div style="line-height: 19px;"><span style="font-family: courier;"> }</span></div><div style="line-height: 19px;"><span style="font-family: courier;">}</span></div></div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;">In context, it will appear like this:</div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgRrUP68PyWel80S4TLaw68Vgk5Jihiia5KsZemklMe422swU63kNtShg_sA-1G08fcqw4R7c04kKNZMDpPfLWsD11sdFqLWo49lP2z7RqvrfXBABUsYNbyv4iwdDGlqsAtPMA2GW9W9DxoV3JXWu21IO2jKk6uqyHcu36GLsJeqYRnSI18W7xbesZB" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="980" data-original-width="1918" height="204" src="https://blogger.googleusercontent.com/img/a/AVvXsEgRrUP68PyWel80S4TLaw68Vgk5Jihiia5KsZemklMe422swU63kNtShg_sA-1G08fcqw4R7c04kKNZMDpPfLWsD11sdFqLWo49lP2z7RqvrfXBABUsYNbyv4iwdDGlqsAtPMA2GW9W9DxoV3JXWu21IO2jKk6uqyHcu36GLsJeqYRnSI18W7xbesZB=w400-h204" width="400" /></a></div><br /><br /></div><h4 style="line-height: 19px; text-align: left;">Enabling Authentication</h4>Now let's authenticate. We'll do this by adding a "bearer" token to the HTTP Headers section on the bottom left, and we'll get that token by using Postman.</div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;">I've created a simple, publically accessible Postman collection <a href="https://www.postman.com/dsolovay/workspace/sitecore-api-bearer-token-authenticator/collection/2414344-d5816c17-9c4b-4a0f-8b78-beb5ea07e3ae?action=share&creator=2414344&ctx=documentation" target="_blank">here</a>. You can also download this collection in JSON format <a href="https://gist.githubusercontent.com/dsolovay/ea2f66b2b98582c4f314a0884cbba9df/raw/0f7cbd9f1e180108d5b22e23a5626f609847b091/Sitecore_GraphQL.postman_collection.json">here</a>, and import it into your local Postman instance. </div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;">Before we get started with Postman, we'll need to make Identity Sever ready to accept Postman calls. We can do that by adding the following lines to the Siteocore.IdentityServer.Host.xml, in the Clients node: </div><script src="https://gist.github.com/dsolovay/ea2f66b2b98582c4f314a0884cbba9df.js?file=Sitecore.IdentityServer.Host.xml"></script>
<div style="line-height: 19px;"><br /></div><div style="line-height: 19px;">Recycle the Identity Server app service, and now open that first, publically accessible, Postman link. Postman allows you to privately change environment values. Click on "Variables"</div><div style="line-height: 19px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjxufU1U7Dr-dyE9r8ZF2yEEDIyiOtigZU7jd5cuJR83EIl1pGNx8FBUtNtNDCyFeU0WjobTj282e8OSb6EopMKVWVBYH4-FY9mP3tkRAKppTxr1ieGZVqRbwyINbrzD9fg7tFycqAqKly36OqnF24HziYykXimUxadBGxDleLbmXXI1eKVChoCA0R_" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1004" data-original-width="2027" height="159" src="https://blogger.googleusercontent.com/img/a/AVvXsEjxufU1U7Dr-dyE9r8ZF2yEEDIyiOtigZU7jd5cuJR83EIl1pGNx8FBUtNtNDCyFeU0WjobTj282e8OSb6EopMKVWVBYH4-FY9mP3tkRAKppTxr1ieGZVqRbwyINbrzD9fg7tFycqAqKly36OqnF24HziYykXimUxadBGxDleLbmXXI1eKVChoCA0R_" width="320" /></a></div><br />Then update your local values here:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj28955vJchJmBMYtE24vSbK7B1tphiarR3H_6B0SZF2ImaTuN44x3XPywQgHbCtNQjqrjqAMxSzSuTZ7YyvQZ2utmNV2y0quUKdVr7pk9tAeO6j2ma2qW07BtzVMZbGfBkmBgc0iRz_IJFCztJYJAcldPXsLFbzxrCG54CzLcKXB299CMmqo_N6JHh" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="501" data-original-width="1051" height="153" src="https://blogger.googleusercontent.com/img/a/AVvXsEj28955vJchJmBMYtE24vSbK7B1tphiarR3H_6B0SZF2ImaTuN44x3XPywQgHbCtNQjqrjqAMxSzSuTZ7YyvQZ2utmNV2y0quUKdVr7pk9tAeO6j2ma2qW07BtzVMZbGfBkmBgc0iRz_IJFCztJYJAcldPXsLFbzxrCG54CzLcKXB299CMmqo_N6JHh" width="320" /></a></div>Per Postman's documentation, these are private:</div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhkvviBDNoOjU_yxSriy6QNt79Ev-HScbt554xanWwGowJ7b1JDlLNnzKfSXAGmVpU79GBPWCsjbSITExMyRxTX_icp86HGxicQlJaOzHMviHVvjyr2WLp_nurajQoB1fPnCIdepeAy3RoqmpUvrer4Ukwr_694j7DJlbUWMBKxnJhse29gr4NeNhdx" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="158" data-original-width="540" height="94" src="https://blogger.googleusercontent.com/img/a/AVvXsEhkvviBDNoOjU_yxSriy6QNt79Ev-HScbt554xanWwGowJ7b1JDlLNnzKfSXAGmVpU79GBPWCsjbSITExMyRxTX_icp86HGxicQlJaOzHMviHVvjyr2WLp_nurajQoB1fPnCIdepeAy3RoqmpUvrer4Ukwr_694j7DJlbUWMBKxnJhse29gr4NeNhdx" width="320" /></a></div><br />Now with the URL changed to your own identity server, and password (hopefully!) changed from "b", you can issue a GetToken request.</div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;">(But first, apparently, you need to create a free account. The things you learn doing Incognito mode testing.) <br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgc8spvAwSn_eHeYoJN7ON5xmgTI1g9aKVuY-BhaEn7ckkrJM4EqLRMyr2nEqW4KpWNzmodb2n4qZ46dA9r-RY05QDxwsWIV-lK3Yn2abuZdevX0KalS0WyW7szWfNlfKCM1_ZnytLDhP1iQE4A88BNyYS-GCqXbufEywVVTZzWE80y7-ul1q-KwPHg" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="495" data-original-width="754" height="210" src="https://blogger.googleusercontent.com/img/a/AVvXsEgc8spvAwSn_eHeYoJN7ON5xmgTI1g9aKVuY-BhaEn7ckkrJM4EqLRMyr2nEqW4KpWNzmodb2n4qZ46dA9r-RY05QDxwsWIV-lK3Yn2abuZdevX0KalS0WyW7szWfNlfKCM1_ZnytLDhP1iQE4A88BNyYS-GCqXbufEywVVTZzWE80y7-ul1q-KwPHg" width="320" /></a></div><br /><br />Second late edit: You can't hit a private URL form the Browser client. You'll have to download the Desktop version, but you should still be able to access the collection by searching for "Sitecore API Bearer Token Authenticator", or importing the collection from the JSON format I linked to earlier. (I need to dig deeper into how Postman collection sharing works.)</div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgAhAhvICGSPR1qqWC-scK6feLict3UY6ihXaWyaxPDGNUmfoScfimWLmV39LwWQjV6_o7oW8LzkBrXHU_zxi-WE84Sd291S3r6xWpmCBeOocBLK64wuty9sn5w8BXTkb4x8ZQcMyYZTTPL_-aaGGZ40kUK6qemifu1h2dVoaF5cRMogknPKcHmwj5j" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="875" data-original-width="2314" height="121" src="https://blogger.googleusercontent.com/img/a/AVvXsEgAhAhvICGSPR1qqWC-scK6feLict3UY6ihXaWyaxPDGNUmfoScfimWLmV39LwWQjV6_o7oW8LzkBrXHU_zxi-WE84Sd291S3r6xWpmCBeOocBLK64wuty9sn5w8BXTkb4x8ZQcMyYZTTPL_-aaGGZ40kUK6qemifu1h2dVoaF5cRMogknPKcHmwj5j" width="320" /></a></div><br /><br /></div><div style="line-height: 19px;">In Postman Desktop mode, with variables updated correctly, you should be able to fire GetToken, and see an access token come back:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj0sLOMVDo6LrmVAlLaMkGHlBJbPE5UDdpx5T9aWVEtnbdsbELW7xI4drS1JF0i-5kI260doAj62DIYfkBTqKLcy1I0wVKpm9Qd3E0jI9RZqLwoilzNzM0zOxyxhaSkAKxQxQyHdKvYK2LOYDDzHYKXgIdtKlKjo2bfayrcUoMS5bMXOdq6FwnJywfe" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1584" data-original-width="2901" height="175" src="https://blogger.googleusercontent.com/img/a/AVvXsEj0sLOMVDo6LrmVAlLaMkGHlBJbPE5UDdpx5T9aWVEtnbdsbELW7xI4drS1JF0i-5kI260doAj62DIYfkBTqKLcy1I0wVKpm9Qd3E0jI9RZqLwoilzNzM0zOxyxhaSkAKxQxQyHdKvYK2LOYDDzHYKXgIdtKlKjo2bfayrcUoMS5bMXOdq6FwnJywfe" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><br /></div>I also left it place some magic from the Sitecore Commerce Postman collection to save that token value to a Global variable (look at the green dot on the "Test" tab), so you can also get to it by clicking on the button in the top right:<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEid4eJ7JU-EdmWUw1GwO58YyecxtwZ8B-rIAFA2XcYxeK5l5DfgI83FKSA0Mbk5uuFYVU6sPpudn42LsEnAQQfmg4d_nOMXO36oyAhAd_tnwc5CCNUdjC2gB-DfBAI9D8F0xkpXlXSWWMtEviYI8nKhR57F93C9RQS_fBDkDGT7TnNo_FhvaFxbBLKz" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="335" data-original-width="900" height="119" src="https://blogger.googleusercontent.com/img/a/AVvXsEid4eJ7JU-EdmWUw1GwO58YyecxtwZ8B-rIAFA2XcYxeK5l5DfgI83FKSA0Mbk5uuFYVU6sPpudn42LsEnAQQfmg4d_nOMXO36oyAhAd_tnwc5CCNUdjC2gB-DfBAI9D8F0xkpXlXSWWMtEviYI8nKhR57F93C9RQS_fBDkDGT7TnNo_FhvaFxbBLKz" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">then:</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj8ZHnXweXOJ4KxaCsVqkTGRxuF_h5CCXh3wEXmWKJU0yMyLkR5Im_cr7WfqohUFXzRN1wZF38C4tHmHL8YALBtVAdvV7QGmzqBTJ4jKq92ZMKcr0wgN0majpJ4AF4LgmnpgFIK1SfSykEgKt6tMojhID4aV26c20bRi2AVnx8wAuUpSdmB8HbCMT6w" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="476" data-original-width="1226" height="124" src="https://blogger.googleusercontent.com/img/a/AVvXsEj8ZHnXweXOJ4KxaCsVqkTGRxuF_h5CCXh3wEXmWKJU0yMyLkR5Im_cr7WfqohUFXzRN1wZF38C4tHmHL8YALBtVAdvV7QGmzqBTJ4jKq92ZMKcr0wgN0majpJ4AF4LgmnpgFIK1SfSykEgKt6tMojhID4aV26c20bRi2AVnx8wAuUpSdmB8HbCMT6w" width="320" /></a></div><br />then copy this whole value:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiYzJin-jl6SpLYHRhbWrYXnIutRchCtLXDnKcC0w2OMFw0HMRJ2Ga-Y9e-EMdWPmzvVEpE-ry72SS7IIq4NSHp_BpR2z1HkRNg7WsxHq3FVa6UDec0SWOtzycUSxKMjPfQeF0LIlX2DtvSpiHz_JOPU6dnpJK5fa0-n6K3Y--OOE7dnPXQC08OPG_T" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="529" data-original-width="1249" height="136" src="https://blogger.googleusercontent.com/img/a/AVvXsEiYzJin-jl6SpLYHRhbWrYXnIutRchCtLXDnKcC0w2OMFw0HMRJ2Ga-Y9e-EMdWPmzvVEpE-ry72SS7IIq4NSHp_BpR2z1HkRNg7WsxHq3FVa6UDec0SWOtzycUSxKMjPfQeF0LIlX2DtvSpiHz_JOPU6dnpJK5fa0-n6K3Y--OOE7dnPXQC08OPG_T" width="320" /></a></div><br /><br /><h3 style="text-align: left;">Putting the pieces together</h3><div class="separator" style="clear: both; text-align: left;">Now that you have a token, go back to the GraphQL playground, and click on HTTP HEADERS:<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgB2knTL3xWuzqx0NHHIHyGRfOMM41pvUe6v71qsIrG2mDcaHH7ZhqD-z_j1ypYQmbCs5P8785RrmMatvgGISd2ZL-8MyJzffgo8a_M9_z2zkcS8EgTERbVQaR30PDgwJ4XzbkCwKOaUyH-nZ194RbXk7dC_9NzE3T0YK8vy_mEfbeqdP9MkLLW9GhM" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="995" data-original-width="903" height="240" src="https://blogger.googleusercontent.com/img/a/AVvXsEgB2knTL3xWuzqx0NHHIHyGRfOMM41pvUe6v71qsIrG2mDcaHH7ZhqD-z_j1ypYQmbCs5P8785RrmMatvgGISd2ZL-8MyJzffgo8a_M9_z2zkcS8EgTERbVQaR30PDgwJ4XzbkCwKOaUyH-nZ194RbXk7dC_9NzE3T0YK8vy_mEfbeqdP9MkLLW9GhM" width="218" /></a></div><br /><br /></div>And then past this, using the token you just generated, ensuring it is preceded with "Bearer ":<br /><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhN0x3zGBEyFUfZ-jk8tn_VN13QflC14HSzKRGGG4QziOLzizYW0LQRnVi7psIqkkSx5PfsTRJqVoLH9XNLkNpN7mKRJyIrF-tXp11DQeWV5zocT1CUs0bnAhuyaVV0jLvP6b_VisAEm5ankVGdhjlNiJjf6JUk43L7z2ln3VXT7mYKlXv0z451xJ9S" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="149" data-original-width="421" height="113" src="https://blogger.googleusercontent.com/img/a/AVvXsEhN0x3zGBEyFUfZ-jk8tn_VN13QflC14HSzKRGGG4QziOLzizYW0LQRnVi7psIqkkSx5PfsTRJqVoLH9XNLkNpN7mKRJyIrF-tXp11DQeWV5zocT1CUs0bnAhuyaVV0jLvP6b_VisAEm5ankVGdhjlNiJjf6JUk43L7z2ln3VXT7mYKlXv0z451xJ9S" width="320" /></a></div><br />Now click that big Play button again. If you see this, you are ready to start exploring all the new 10.3. GraphQL capabilities:<br /></div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgGOWdVfqX7RgYmWJkDNWAlNSINjSILVrh6wmkawnVzdKs3McNcPwpidH4nGaWRAW9IH8mdLOy9Y1tXMxNkWi2oddoytb0TwfYKf7sw3vB1QZTqTc39FhtIKT9FA8t68-Cf499HD51h7HTSowpONS5BOt0E5IBRkRA3OXsZJS4emWZVx1NfVbWQJ5iK" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="357" data-original-width="499" height="229" src="https://blogger.googleusercontent.com/img/a/AVvXsEgGOWdVfqX7RgYmWJkDNWAlNSINjSILVrh6wmkawnVzdKs3McNcPwpidH4nGaWRAW9IH8mdLOy9Y1tXMxNkWi2oddoytb0TwfYKf7sw3vB1QZTqTc39FhtIKT9FA8t68-Cf499HD51h7HTSowpONS5BOt0E5IBRkRA3OXsZJS4emWZVx1NfVbWQJ5iK" width="320" /></a></div><br /><h3 style="text-align: left;">Digging deeper:</h3><ul style="text-align: left;"><li>A fun, live GraphQL <a href="https://graphql.org/learn/">tutorial</a>, featuring R2-D2. A few key points:</li><ul><li>Requests look like JSON, with the return values stripped out. </li><li>It is less chatty than REST, with the ability to ask for several elements of data at once, e.g. a parent and several children. </li><li>It supports introspection, and thus intellisense like behavior in smart clients. You can confirm this by right clicking on the left in the Playground.</li><li>Despite the "V1" in Sitecore's URL, you don't really need to version GraphQL APIs, since capabilities can be added in a non destructive way. They say it's fine, but they don't really encourage it.</li></ul><li>Sitecore's <a href="https://doc.sitecore.com/xp/en/developers/103/sitecore-experience-manager/walkthrough--enabling-and-authorizing-requests-to-the-authoring-and-management-api.html" target="_blank">documentation</a> for creating an access token, which involves building an MVC controller. </li><ul><li>I had recalled the Postman workflow with Identity Server from previous commerce work, so wanted to explore whether that would work with GraphQL. Hence this post.</li></ul><li>Sitecore's new <a href="https://doc.sitecore.com/xp/en/developers/103/sitecore-experience-manager/query-examples-for-authoring-operations.html" target="_blank">authoring </a>and <a href="https://doc.sitecore.com/xp/en/developers/103/sitecore-experience-manager/query-examples-for-management-operations.html" target="_blank">management </a>endpoints.</li><li>Postman <a href="https://learning.postman.com/docs/getting-started/introduction/" target="_blank">docs</a>. This tool is going to be very important in our Services focused future. For example, OrderCloud is documented using a Postman <a href="https://documenter.getpostman.com/view/13422742/TVt19jd1" target="_blank">collection</a>.</li></ul><br /><br /><br /></div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><br /></div><div style="line-height: 19px;"><br /></div></div>Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-58667323156047315072021-09-19T00:07:00.003-04:002021-09-19T00:25:45.912-04:00Web Deploy Parameters, a first look<p>WebDeploy is a foundational technology for SIF, as well as Azure deployments and even Docker (where content packages need to be converted into web deploy packages to build images). I recently did some digging into the basics of WebDeploy, including how to configure parameters in projects. This short walkthrough shows how to create a web deployment package form a project, how to publish it to an IIS site, and how to add and set a custom parameter. We'll use this to set the "My Application" text in the MVC scaffold project in Visual Studio. </p><span></span><span><a name='more'></a></span><p><br /></p><p>First, let's create an empty site in IIS:</p><p></p><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGYIyaz8T4zJ5t8fcoSXc9N6N2T0bZ49jzi271yGH4EIhfQaCvC3hl1J3ZqINPkyCJAHt2Imj5rvyniKE45a_HRzoXJwoW-In7wHZ_eb9-dBqyxWZ1kzLCwrAtmBSQQiuEY1AszIHOT2g/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1344" data-original-width="1170" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGYIyaz8T4zJ5t8fcoSXc9N6N2T0bZ49jzi271yGH4EIhfQaCvC3hl1J3ZqINPkyCJAHt2Imj5rvyniKE45a_HRzoXJwoW-In7wHZ_eb9-dBqyxWZ1kzLCwrAtmBSQQiuEY1AszIHOT2g/" width="209" /></a></div><br />Next, in Visual Studio, create a .Net Framework MVC project with "Individual User Accounts" (the DB connection string is created as a parameter later, which will play with a bit.)<div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZaMTXLvhHeRuioaCeP_9DRl4sWSrh8tjTcZbDQEYDbvj8jxTeRgZaowM3Us6jmEhVjypa4NT9bMI1I5IUXWLd65FdsL6zDKF-EkaNw-uFBhgCyMO7dXt_hgQDopT_nuS-ngZMCtKqkz8/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="616" data-original-width="1448" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZaMTXLvhHeRuioaCeP_9DRl4sWSrh8tjTcZbDQEYDbvj8jxTeRgZaowM3Us6jmEhVjypa4NT9bMI1I5IUXWLd65FdsL6zDKF-EkaNw-uFBhgCyMO7dXt_hgQDopT_nuS-ngZMCtKqkz8/" width="320" /></a></div><br />Hit F5, to bring it up in IIS Express. It should look like this. Note the My Application text. We'll parameterize that later on.</div><div><br /></div><div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWvJszdULcNek97n3WEu_Mb0kQ0uX1PZwDnhw2M9JLYpy09hJHzdpvLCFja85rh-0Y95a2lSyb3KLQXlvuFdLrPnD1aYa_OqEVTPYlABVpyjf6-gcAo9Z3YcffAXmSB4YAcRr2z1ClesE/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="962" data-original-width="1412" height="218" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWvJszdULcNek97n3WEu_Mb0kQ0uX1PZwDnhw2M9JLYpy09hJHzdpvLCFja85rh-0Y95a2lSyb3KLQXlvuFdLrPnD1aYa_OqEVTPYlABVpyjf6-gcAo9Z3YcffAXmSB4YAcRr2z1ClesE/" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><p>Okay, now let's build the deployment package. Hit Build/Publish to bring up this screen:</p><p></p><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixgJ-DlxJVwREz6BGavwPIYPsxTNQi3exukMrrzem4X27jmCwQ7OEqgm668jYcj41ZBJHyaL5QtF3xB9Ll9gpIBrQOMQ9HMbZOHRpZ4PCfFZ8e5GV77j2HYAawURN4U3qyXr_9kcLmkFU/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1182" data-original-width="1586" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixgJ-DlxJVwREz6BGavwPIYPsxTNQi3exukMrrzem4X27jmCwQ7OEqgm668jYcj41ZBJHyaL5QtF3xB9Ll9gpIBrQOMQ9HMbZOHRpZ4PCfFZ8e5GV77j2HYAawURN4U3qyXr_9kcLmkFU/" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div>Select IIS, FTP, etc.</div><div> <div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0OoaI1m2FCSyy8HvJSaW4MlbVoeKLfGHI5GHOibEdLfZRZ0M2oQj7p0DPtq61vMiAr_Dcp355_Xb3QmfPErNJajCr4leMAju-R5vholVbX9hci0z7HXRJFldTuPZJcAIWjJ5hfIixJ5I/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1200" data-original-width="1600" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0OoaI1m2FCSyy8HvJSaW4MlbVoeKLfGHI5GHOibEdLfZRZ0M2oQj7p0DPtq61vMiAr_Dcp355_Xb3QmfPErNJajCr4leMAju-R5vholVbX9hci0z7HXRJFldTuPZJcAIWjJ5hfIixJ5I/" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Change from Web Deploy to Web Deploy Package, and point to a new target directory. List the site you created in IIS earlier under Site name:</div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAmvivD_LcH_IPXEms5S7R_vd8bD2SXwkzYtb0a0ohOCKQ5-kEHOHVUjzc8nNqXmwcJURvPG4D5Cmad4x95szfGPOG3yqkE52yg60UDbRYDuCeGq04byUhLR2-7KRoLDEVsxBjN7KrwTo/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1119" data-original-width="1418" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAmvivD_LcH_IPXEms5S7R_vd8bD2SXwkzYtb0a0ohOCKQ5-kEHOHVUjzc8nNqXmwcJURvPG4D5Cmad4x95szfGPOG3yqkE52yg60UDbRYDuCeGq04byUhLR2-7KRoLDEVsxBjN7KrwTo/" width="304" /></a></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div></div> This causes several files to be created, besides the zip file show above after Package location.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggOxF2QQUk1XMu_QEeW244EuDjJLRtAMagxRUaWMAC6GDysLLi4WBwZS4N-HuDHIdLGD1zuuEU_V9weBXJ9j4Lr5pkWT-78xrsoywfrQsy1Nb8tLQuUDK-MYcdRfKZq-VTx51QJcITabw/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="406" data-original-width="636" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggOxF2QQUk1XMu_QEeW244EuDjJLRtAMagxRUaWMAC6GDysLLi4WBwZS4N-HuDHIdLGD1zuuEU_V9weBXJ9j4Lr5pkWT-78xrsoywfrQsy1Nb8tLQuUDK-MYcdRfKZq-VTx51QJcITabw/" width="320" /></a></div><br /><br />The Zip file has a familiar structure if you've looked at the scwdp files that come in a Sitecore distribution, minus all the dacpacs and SQL commands, but we do have a Content folder, and a file that lists parameters:</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7dpm2B5ApCwt4aRLiijity12yiq-7hgVaPw54Yl7u7fkafxSnaE9SRJRv2UPcG59rldD8nn7KgkzNWGjUOB3OqsSWDA3Ofv2GkB1tiQhUy4DC3ZcFRZIjAQukMsvkX-q7X3ZneBYyHo/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="374" data-original-width="834" height="144" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw7dpm2B5ApCwt4aRLiijity12yiq-7hgVaPw54Yl7u7fkafxSnaE9SRJRv2UPcG59rldD8nn7KgkzNWGjUOB3OqsSWDA3Ofv2GkB1tiQhUy4DC3ZcFRZIjAQukMsvkX-q7X3ZneBYyHo/" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The parameters file in the package lists two parameters site name and connection string, with details as to what they refer to (e.g. which Web.config location): <div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdV1AP_8dlThP7Vy-u_ZDl-HKjHi50IR3FVVlZsedfm83Bx1x75Ao3XUL3f1EqZn4lsOuNLipKz1EydB5yd4PPdk-VFLLx6N86MWIJ218VAxpXyry5Du2bm8BstRtLnhjLNsQ0kA_tUys/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="526" data-original-width="2362" height="71" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdV1AP_8dlThP7Vy-u_ZDl-HKjHi50IR3FVVlZsedfm83Bx1x75Ao3XUL3f1EqZn4lsOuNLipKz1EydB5yd4PPdk-VFLLx6N86MWIJ218VAxpXyry5Du2bm8BstRtLnhjLNsQ0kA_tUys/" width="320" /></a></div><br /><br /><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">And the SetParameters file (outside the zip) gives default values for these. Notice the DB connection string, and the site name. </div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzf72BA4eRmvA4ZY3CU3my_eKJm25EVDRe9BHyC7ec-VK81PiqLD5BzzoUVTvgGt_tS1R6sfDhjxsW5DQt3Yv7X9acdyVbaFhHri7JWZN6NbRC2RkN5sOtHf6M9vHwGiQaGuQ2JP40lHw/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="298" data-original-width="2319" height="41" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzf72BA4eRmvA4ZY3CU3my_eKJm25EVDRe9BHyC7ec-VK81PiqLD5BzzoUVTvgGt_tS1R6sfDhjxsW5DQt3Yv7X9acdyVbaFhHri7JWZN6NbRC2RkN5sOtHf6M9vHwGiQaGuQ2JP40lHw/" width="320" /></a></div><br /></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div style="text-align: left;">Finally, the .deploy.cmd file provides a wrapper for the call to MSDeploy, and the deploy-readme.txt provides documentation. </div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC0G2caOI40Ozt4vcNR1eXU0plQ-cLbwinQq42I50DHCFTLcCJ2M8ohrbV-AwDh2oDwgxtNtXD8XoELRG_xL1GKvlnU1_mz8dSJAlhYxqCoj-95yiJICCfQDVuXAltjSpSBarBAq7Le6E/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1273" data-original-width="1818" height="224" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjC0G2caOI40Ozt4vcNR1eXU0plQ-cLbwinQq42I50DHCFTLcCJ2M8ohrbV-AwDh2oDwgxtNtXD8XoELRG_xL1GKvlnU1_mz8dSJAlhYxqCoj-95yiJICCfQDVuXAltjSpSBarBAq7Le6E/" width="320" /></a></div><div style="text-align: left;"><br /></div><div style="text-align: left;">Worth noting is you can call with a /T for "WhatIF" mode (mnemonic: "test" or "try"), and /Y (mnemonic, "yeah, let it rip") </div></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Let's open an elevated PowerShell prompt (so it has access to the target location), and run the deploy command with /T. We'll see a list of all the files that would be deployed:</div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmv9G85ukBATX3WkEwErjUDCmtxvK7BjhCEto6q6fiv7EjUoAyqTeYZHJGt3z9nn6UrM9U-N061JbTk1g_-tS_C6WCWmDhLQbe9FOvqVXuHxqNfPN5-JMEBpQmg1LsQio7cPp9pRKNE_8/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="623" data-original-width="1575" height="127" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmv9G85ukBATX3WkEwErjUDCmtxvK7BjhCEto6q6fiv7EjUoAyqTeYZHJGt3z9nn6UrM9U-N061JbTk1g_-tS_C6WCWmDhLQbe9FOvqVXuHxqNfPN5-JMEBpQmg1LsQio7cPp9pRKNE_8/" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">...</div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKUAsdweN9ikhRCs6xdo47zsT7Zh3OqYqyIPdBgx1xQFmc0AjkMchMdVO5hqSq5dQGUMrhqdum2ZUlxVVIUjxuEifFLvPQbga7iFJ4KI22ICQQqsCjGUCe6wg2cUsofKPLvsocxWEjkNI/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="426" data-original-width="1570" height="87" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKUAsdweN9ikhRCs6xdo47zsT7Zh3OqYqyIPdBgx1xQFmc0AjkMchMdVO5hqSq5dQGUMrhqdum2ZUlxVVIUjxuEifFLvPQbga7iFJ4KI22ICQQqsCjGUCe6wg2cUsofKPLvsocxWEjkNI/" width="320" /></a></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div></div><div style="text-align: left;">Seems legit. Let's run with /Y:</div></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbGbUbN2ImSWTd9LI2wsA5MFDDPd-c7UUk0USNxCl45bm7AL0_-t77tIlnyzR1ewVQVLbEz0aWp8Nd5EuOQldgmrDptjsq5ifVyY0CeieEwENe7-lxAakkUvsXbUsqUEUoa2ihyphenhyphenduR1z0/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="740" data-original-width="1561" height="152" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbGbUbN2ImSWTd9LI2wsA5MFDDPd-c7UUk0USNxCl45bm7AL0_-t77tIlnyzR1ewVQVLbEz0aWp8Nd5EuOQldgmrDptjsq5ifVyY0CeieEwENe7-lxAakkUvsXbUsqUEUoa2ihyphenhyphenduR1z0/" width="320" /></a></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div><div style="text-align: left;">Now we can load the site from IIS proper: </div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwgwPRTfLXj5oRUxanVpkFd7luDPOESeL0KZDizO2Hb-CTaH4EcoTpvwg1Pqhzn99InUb3e4vSkMdlISk6XObDGXI-K6I0n5jRrMNMb08JR-ixnumVQp5reCMexqY0A_9rodZOSzlvUn8/" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img alt="" data-original-height="592" data-original-width="983" height="193" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwgwPRTfLXj5oRUxanVpkFd7luDPOESeL0KZDizO2Hb-CTaH4EcoTpvwg1Pqhzn99InUb3e4vSkMdlISk6XObDGXI-K6I0n5jRrMNMb08JR-ixnumVQp5reCMexqY0A_9rodZOSzlvUn8/" width="320" /></a></div><br /><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Let's try changing that DB parameter. Open the SetParameters file, and change "(LocalDb)\MSSQLLocalDB" to ".", and run the same command with /T. Now we just see one file, web.config, listed:</div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOyR_Coo9Kdrl7sOdGUUpCs5NMQKpeLXTlGdHs414474aGTSsp8g62RPoBiZslA-SoB9pwmJXszzjUT6C7AvrVxMCjytifNn6BVYwHPnAVUDtukMZFrE244GNdlJtDK6Hy9mWCWKfBc4k/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="500" data-original-width="1551" height="103" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOyR_Coo9Kdrl7sOdGUUpCs5NMQKpeLXTlGdHs414474aGTSsp8g62RPoBiZslA-SoB9pwmJXszzjUT6C7AvrVxMCjytifNn6BVYwHPnAVUDtukMZFrE244GNdlJtDK6Hy9mWCWKfBc4k/" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Run with /Y, and we can confirm that value gets updated in Web.config in IIS. </div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcIaN4m4eSVZ9kccUZ3EjkBRSHS4Vurqk85Srgv91tkGQZWKWCXYuzNSQwOwMKjwOJqUtAclX-DX9YmvrN7Ivw8pfwBEs7JuZfsC5naYoRKZSuPqRVHrvok8CoDz9CvaQA5BFD5GZjjgI/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="132" data-original-width="1016" height="42" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcIaN4m4eSVZ9kccUZ3EjkBRSHS4Vurqk85Srgv91tkGQZWKWCXYuzNSQwOwMKjwOJqUtAclX-DX9YmvrN7Ivw8pfwBEs7JuZfsC5naYoRKZSuPqRVHrvok8CoDz9CvaQA5BFD5GZjjgI/" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Okay, now let's add a custom parameter. It turns out we can do that with a parameters.xml file in the project root. This syntax states, to any file named __Layouts.cshtml, replace "My Application" with this parameter. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;"><script src="https://gist.github.com/dsolovay/23f59978cf91be3813c1f1646b1300f4.js"></script></div><div style="text-align: left;"><br /></div><div style="text-align: left;"><br /></div></div></div><div class="separator" style="clear: both; text-align: center;"><div style="text-align: left;"><br /></div><div style="text-align: left;">With that in place, let's rebuild. We now see that parameter added to the parameters.xml:</div></div></div></div></div><br /><div style="text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYUQrdiPbyHyzJur5bq-Nem81z7pr1oMfjZQY7nzH9DCtdgTXbSa79fmLjUT2HqBj3fWGqscVEu2u0RrrHKT6r1QePxMdTPbyJtJLs_vuyecUjo9O7fnhnb8pJDMKu3D-yc3sU8FLAZRA/" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="" data-original-height="309" data-original-width="1458" height="68" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYUQrdiPbyHyzJur5bq-Nem81z7pr1oMfjZQY7nzH9DCtdgTXbSa79fmLjUT2HqBj3fWGqscVEu2u0RrrHKT6r1QePxMdTPbyJtJLs_vuyecUjo9O7fnhnb8pJDMKu3D-yc3sU8FLAZRA/" width="320" /></a></div></div></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">And it's added inside the zip as well, with information on where to apply it:</div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYPK5kR1ZYFHRkpfuHCV7iD0prwuLdeIWzzB95rnwTgXcAGnq4uSLl-Khye57ro7GJzlYA8kRjfsPoabDaipykJ7Vu8_qmPnPrZ0GqIEOJ8Ge4jQ6CN-KevdM0GZAai4cX3nfU2KpPGpQ/" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img data-original-height="616" data-original-width="1971" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYPK5kR1ZYFHRkpfuHCV7iD0prwuLdeIWzzB95rnwTgXcAGnq4uSLl-Khye57ro7GJzlYA8kRjfsPoabDaipykJ7Vu8_qmPnPrZ0GqIEOJ8Ge4jQ6CN-KevdM0GZAai4cX3nfU2KpPGpQ/w320-h100/image.png" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">We could edit the first of these to push a change, but we can also pass parameters directly through to MSDeploy, like this:<br /><span style="font-family: courier;"><br />.\WebApplication2.deploy.cmd /T "-setParam:name='Application Ribbon Home Label',value='Changed!!'"</span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: courier;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: inherit;">Note that the entire parameter is in double quotes, with the values in single quotes. This is specified by the readme, and took me way too long to get right. </span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: inherit;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: inherit;">Let's run this with /Y. The output shows that the _Layout file was updated:</span></div><div class="separator" style="clear: both; text-align: left;"><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge8bqvgGBXiScu1BvCRAbKHuPw5lSRi55ftsUVd8yLuEiZhVHnN-d4Oa-Tt5pgExJZnhnMwqloVcJXwdJqCCtjPAoNjqfwtc1h5YQwCtb0nwc0d2wgndvRypSZi17ySygPEeUwFkftKW0/" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img alt="" data-original-height="610" data-original-width="1576" height="124" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEge8bqvgGBXiScu1BvCRAbKHuPw5lSRi55ftsUVd8yLuEiZhVHnN-d4Oa-Tt5pgExJZnhnMwqloVcJXwdJqCCtjPAoNjqfwtc1h5YQwCtb0nwc0d2wgndvRypSZi17ySygPEeUwFkftKW0/" width="320" /></span></a></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: inherit;">And let's reload the website:</span></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: left;"><span style="font-family: inherit;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: inherit;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuFHAhjzyOM4qWysb70ef3B2yZqqDfJi7ChO6jTDhxjdJVlkMdj7YDGXTjN1Il0ItnT4FH0MJko-GNKBkMc8-RWAYyLLMZzYbfr5MwCzHe6Supq3jhEKJFgtuUSShOmONeZ3c7v4lfxNs/" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit;"><img alt="" data-original-height="602" data-original-width="973" height="198" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjuFHAhjzyOM4qWysb70ef3B2yZqqDfJi7ChO6jTDhxjdJVlkMdj7YDGXTjN1Il0ItnT4FH0MJko-GNKBkMc8-RWAYyLLMZzYbfr5MwCzHe6Supq3jhEKJFgtuUSShOmONeZ3c7v4lfxNs/" width="320" /></span></a></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: inherit;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: inherit;"><br /></span></div><span style="font-family: inherit;"><div style="text-align: left;"><span style="font-family: inherit;">This article shows how parameters are integrated into the Visual Studio Web Publishing Pipeline, how they can be customized, and shows two ways of passing parameters through to the web deploy, using configuration and using a command line parameter. In a future post, we'll see how these parameters work in Sitecore web deploy packages and are supported in the SIF WebDeploy command. </span></div></span></div><span style="font-family: inherit;"><br /></span><h4 style="text-align: left;"><span style="font-family: inherit;">Useful documentation:</span></h4><span style="font-family: inherit;"><a href="https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/web-deployment-in-the-enterprise/deploying-web-packages">Deploying Web Packages | Microsoft Docs</a></span></div><div class="separator" style="clear: both; text-align: left;"><a href="https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/web-deployment-in-the-enterprise/building-and-packaging-web-application-projects">Building and Packaging Web Application Projects | Microsoft Docs</a></div><div class="separator" style="clear: both; text-align: left;"><a href="https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/web-deployment-in-the-enterprise/configuring-parameters-for-web-package-deployment">Configuring Parameters for Web Package Deployment | Microsoft Docs</a></div><div class="separator" style="clear: both; text-align: left;"><a href="https://docs.microsoft.com/en-us/iis/publish/using-web-deploy/web-deploy-parameterization">Web Deploy Parameterization | Microsoft Docs</a></div><div class="separator" style="clear: both; text-align: left;"><a href="https://docs.microsoft.com/en-us/iis/develop/windows-web-application-gallery/reference-for-the-web-application-package">Reference for the Web Application Package | Microsoft Docs</a></div><div class="separator" style="clear: both; text-align: left;"><a href="https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd569084(v=ws.10)?redirectedfrom=MSDN">Using declareParam and setParam | Microsoft Docs</a></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: inherit;"><br /></span></div><div class="separator" style="clear: both; text-align: left;"><span style="font-family: arial;"><br /></span><br /></div>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-51313424740290237772021-02-27T13:13:00.004-05:002021-02-27T13:13:40.129-05:00Using Docker Playground to Run Solr<p>Recently, I wanted to run through some Solr documentation, and I wanted a clean Solr instance with demo contents. I was able to do this pretty cleanly on the Play with Docker site (requires a free Docker account). </p><p>Here are the steps:<br /><br />Go to Play with Docker: https://labs.play-with-docker.com/</p><p>Click Add New Instance.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3S2P-MNcXMMGS86Ww7k3dbw3OR3ImIMiEm5cL9a8SjY2bP5akXP-XepmU4jLeLH6wmb8o1emx2plfL5ESyEnFyvfCi4JEiEwjFoViLjVHX6W0obsqTUYc-nIXp1dnZnSIxLBQ8fdUjx0/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="308" data-original-width="395" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3S2P-MNcXMMGS86Ww7k3dbw3OR3ImIMiEm5cL9a8SjY2bP5akXP-XepmU4jLeLH6wmb8o1emx2plfL5ESyEnFyvfCi4JEiEwjFoViLjVHX6W0obsqTUYc-nIXp1dnZnSIxLBQ8fdUjx0/" width="308" /></a></div><br /><p></p><span><a name='more'></a></span><p><br /></p><p>On the command line, run:</p><p>>docker run -dp 8983:8983 --name my-solr solr solr-demo</p><p>What this means:<br /></p><ul style="text-align: left;"><li>-d run detached (rather than sending output to the command line)</li><li>-p 8983:8983 set host port 8983 to container port 8983</li><li>--name allows running commands without using the container generated ID "e3..." below</li><li>The first "solr", the name of the image to pull from Dockerhub. Defaults to latest, but I could have put solr:8.4 if I wanted to be more specfic.</li><li>"solr-demo" is a <a href="https://github.com/docker-solr/docker-solr/blob/master/scripts/solr-demo" target="_blank">script </a>written by the docker image maintainers to get this running. </li></ul><p></p><p>This runs pretty fast on this environment:<br /></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv0s1uTPaYz4JiwPYa1Bi3bUs5WWQFUDhmBJAbcdsiuJ8BdlYpdUS2MfcQaMEEHMy9u0nwRz-wdhyphenhyphen-p8N8mwPHautm0Yo9aEzSdLF7N4J_Hjis8NFO1It6JTNokJwmZsq6W9Na0YCdFPA/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="449" data-original-width="1206" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv0s1uTPaYz4JiwPYa1Bi3bUs5WWQFUDhmBJAbcdsiuJ8BdlYpdUS2MfcQaMEEHMy9u0nwRz-wdhyphenhyphen-p8N8mwPHautm0Yo9aEzSdLF7N4J_Hjis8NFO1It6JTNokJwmZsq6W9Na0YCdFPA/w640-h238/image.png" width="640" /></a></div><br />You'll see an 8983 button which will allow you to access Solr.<p></p><p><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgErIPX64_exoqeYmD1nSBLVkWH3TknWbJnMAh9F07OKdb_uLyORcr4HMboLG6RaZDdWgHzsE7aMFTG8AdPqtPWQemCLIYjfx_wOlEs_yEIlhFPQMSbp-Ee7AKXK2BJgT_FaxN9G2AqEM0/" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img alt="" data-original-height="331" data-original-width="1045" height="101" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgErIPX64_exoqeYmD1nSBLVkWH3TknWbJnMAh9F07OKdb_uLyORcr4HMboLG6RaZDdWgHzsE7aMFTG8AdPqtPWQemCLIYjfx_wOlEs_yEIlhFPQMSbp-Ee7AKXK2BJgT_FaxN9G2AqEM0/" width="320" /></a></p><p><br /></p><p>Click on the 8983 button, switch the Core dropdown to "demo", click Query, then "Execute Query" to see demo contents:<br /><br /></p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj890ry9K2oZhVMurjv4627VxxV38LSq_b7g78Xzyz5GO5c-VkFvMsDm6MvYnVlYqgWEw9AuBcCa5AcpijmHkYh9ZQVVgHqNnXO2YAVwmBvS6gDouXaHhJo9oLXH7iUwM559fUNmdAEsBI/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="1030" data-original-width="1911" height="344" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj890ry9K2oZhVMurjv4627VxxV38LSq_b7g78Xzyz5GO5c-VkFvMsDm6MvYnVlYqgWEw9AuBcCa5AcpijmHkYh9ZQVVgHqNnXO2YAVwmBvS6gDouXaHhJo9oLXH7iUwM559fUNmdAEsBI/w640-h344/image.png" width="640" /></a></div><br /><br /><p></p><p>You can now run through a tutorial like "Solr in 5 Minutes": http://www.solrtutorial.com/solr-in-5-minutes.html</p><p>If you want to access the command line of the instance, run this:</p><p>>docker exec -it my_solr /bin/bash</p><p>exec is for running commands on containers that are up. This opens a command line inside the container. </p><div>Type >bin/solr --help to see Solr commands:</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIgeN92KRwmPWD16inOlgAmG8lgPUVbnNiPLyS9vM3qXK9zKVpteIduMDx-BLE-eRXAC8CTmbPjqaAd78mVEoUOJVggpIEENB7a93YgNQcfggg3dnr98xFCplSkGcDYyZwfDzeNQDvwo4/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="150" data-original-width="1481" height="64" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIgeN92KRwmPWD16inOlgAmG8lgPUVbnNiPLyS9vM3qXK9zKVpteIduMDx-BLE-eRXAC8CTmbPjqaAd78mVEoUOJVggpIEENB7a93YgNQcfggg3dnr98xFCplSkGcDYyZwfDzeNQDvwo4/w640-h64/image.png" width="640" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div><br /></div><div>Or >bin/solr status</div><div><br /></div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcleFl3cBysEo0AT4Eh8lwBvAV2lBNVxaqhgZzObu8lOZ4gOOYKNRP2L0P__Z3aC8s_lioOYWpCbguy95N3_j5EgScxXCAwLh-TMopl0dO6Pnsai1TWZnDLgRsD7UdwEufxSxelI-0Qww/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="301" data-original-width="1023" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgcleFl3cBysEo0AT4Eh8lwBvAV2lBNVxaqhgZzObu8lOZ4gOOYKNRP2L0P__Z3aC8s_lioOYWpCbguy95N3_j5EgScxXCAwLh-TMopl0dO6Pnsai1TWZnDLgRsD7UdwEufxSxelI-0Qww/w640-h188/image.png" width="640" /></a></div><br /><br /></div><div>Since Play with Docker is web based, this is a good way of getting a first taste for Docker even if you don't have it installed. </div><div><br /></div><div>This environment goes away in a 4 hours, but you can stop the instance with >docker rm -f my_solr should you want to start fresh. (-f means "force", so you can remove a running container)</div><div><br /></div><div>Note: I tried to do this locally, and was running into an issue with docker exiting after setting up the instance. Docker Playground stepped around this. When I figure out what I'm doing wrong locally, I'll update this post.</div>Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-16921942342159728782020-08-29T15:41:00.001-04:002020-08-29T15:42:44.507-04:00Healthchecks and Sitecore containers<p>I just figured something out, and thought I'd share it. I just tried spinning up Sitecore 10 on Docker, using the XM1 <a href="https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform/100/Sitecore_Experience_Platform_100.aspx#" target="_blank">configuration</a>, and I saw I was getting this error:</p><p>ERROR: for traefik Container "5530f939e540" is unhealthy.</p><span><a name='more'></a></span><p><br /></p><p><img alt="" height="270" src="data:image/png;base64,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" width="798" /></p><p>I first thought this was an error from the "traefik" container (which is involved in routing HTTPS traffic to the CM, CD and ID servers, see Rey Rehadian's <a href="http://reyrahadian.com/2020/02/06/sitecore-docker-container-traefik-v2-self-signed-ssl-certificates/">post</a> and the <a href="https://dev.sitecore.net/Downloads/Sitecore_Experience_Platform/100/Sitecore_Experience_Platform_100.aspx#" target="_blank">Container Installation Guide</a>), but when I ran "docker ps", I saw that the health issue was with my CM container (and my CD as well):<br /><br /></p><p><img alt="" height="137" src="data:image/png;base64,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" width="768" /></p><p>Looking at the docker-compose.yaml file, you can see that CM and CD health are a prerequisite for bringing up the traefik container.</p><p><img alt="" height="555" src="data:image/png;base64,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" width="634" /></p><p>Okay, so that makes sense. Before Docker-Compose can bring up the traefik container, it checks on the health of the containers it depends on. CM was unhealthy, so traefik couldn't be brought up, and I got an error.</p><p>So I started looking into what can make a container unhealthy. Turns out that's a feature in Dockerfile; adding a HEALTHCHECK command gives a way of monitoring container health; if a command returns 0, everything is fine. Useful write up <a href="https://medium.com/better-programming/docker-healthchecks-eb744bfe3f3b" target="_blank">here</a>, DOCKERFILE docs <a href="https://docs.docker.com/engine/reference/builder/#healthcheck" target="_blank">here</a>. Problem is, as far as I can tell, the Dockerfiles for the Sitecore 10 images are not public, and I couldn't see what the healthcheck was from "docker image inspect". However, "docker container inspect 553" (553 is the beginning of my CM container ID) showed the issue:<br /><br /></p><p><img alt="" height="349" src="data:image/png;base64,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" width="591" /></p><p>Since traefik wasn't up, I couldn't hit https://xm1cm.localhost/ directly, so I looked up the container IP address in the "docker container inspect" output, and used that. (Also, you can "docker exec -it <container id> powershell" to get a container command line, and Invoke-WebRequest -usebasicparsing -uri http://localhost:80/healthz/ready to get at the output below.)</p><p>Hitting this IP + /healthz/ready, showed my issue, an invalid license file value. </p><p><img alt="" height="356" src="data:image/png;base64,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QAEUQAEUQAEUQAEUQAEUQAEUcArsFr9z+1akdQVwKcK276WIW0YZisFRu6hwHrXLJtfF4dSkj+l9LZ8PFb9nhXVj/5Ti96T4PsS+H19Rlv9HARRAARRAARRAARRAARRAARRAARRAARRAARRAARRYKXCs+O0s9CeQ60+NTIrVvRBdC8VRu6EAvG3jT4SIA/vF4WFM6br7qmxT/N5ViwYogAIogAIogAIogAIogAIogAIogAIogAIogAIocM8KrIvfP1+38EnpVsSuxe+ogP3uP3tin0LfT8Iti9/KNj97sp8KWqAACqAACqAACqAACqAACqAACqAACqAACqAACqDAhQrsFr9f0m9euyeh25Pf6vhwLCqIq2OtqK6Otd8Lb8X1oICt2jcbtdDu/8FL63cpQLcxBuFUgVrF5ZutnixffTc+za7GawXx6Fj3oGksPzfTv+IdCqAACqAACqAACqAACqAACqAACqAACqAACqAACqCAUmBd/NZPb+d/+LH/jrYuPIu9XvyVdkHxuhW2pU1/bYXp1ibonwdTRWLlV+tvfpu72395mdlLRmObufj/8tKegO8xnvKb31UhVbj3dksL5UMriNe+Jhfj2L0V71AABVAABVAABVAABVAABVAABVAABVAABVAABVAABXaL30iEAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAo+mAMXvR8sY/qIACqAACqAACqAACqAACqAACqAACqAACqAACqAACuwqQPF7VyIaoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKPJoCFL8fLWP4iwIogAIogAIogAIogAIogAIogAIogAIogAIogAIosKsAxe9diWiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAijwaApQ/H60jOEvCqAACqAACqAACqAACqAACqAACqAACqAACqAACqDArgIUv3clogEKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoMCjKUDx+9Eyhr8ogAIogAIogAIogAIogAIogAIogAIogAIogAIogAK7ClD83pWIBiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAo+mAMXvR8sY/qIACqAACqAACqAACqAACqAACqAACqAACqAACqAACuwqQPF7VyIaoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKPJoCFL8fLWP4iwIogAIogAIogAIogAIogAIogAIogAIogAIogAIosKsAxe9diWiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAijwaApQ/H60jOEvCqAACqAACqAACqAACqAACqAACqAACqAACqAACqDArgIUv3clogEKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoMCjKUDx+9Eyhr8ogAIogAIogAIogAIogAIogAIogAIogAIogAIogAK7ClD83pWIBiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAiiAAo+mAMXvR8sY/qIACqAACqAACqAACqAACqAACqAACqAACqAACqAACuwqQPF7VyIaoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKoAAKPJoCFL8fLWP4iwIogAIogAIogAIogAIogAIogAIogAIogAIogAIosKvATvH7z9u28R8awAAMwAAMwAAMwAAMwAAMwAAMwAAMwAAMwAAMwAAMPBYDFL8p7nODAwZgAAZgAAZgAAZgAAZgAAZgAAZgAAZgAAZgAAaejgGK30D9dFBzB+6x7sCRL/IFAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzBwCwYoflP8pvgNAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAA0/HAMVvoH46qG9xlwib3H2EARiAARiAARiAARiAARiAARiAARiAARiAgcdigOI3xW+K3zAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzAAAzDwdAxQ/Abqp4OaO3CPdQeOfJEvGIABGIABGIABGIABGIABGIABGIABGICBWzBA8ZviN8VvGIABGIABGIABGIABGIABGIABGIABGIABGIABGHg6Bh6m+P3j28v2+vP6d0D++PXT9vnX30pif37dXl5etpeXT9v3308d67ft+5dz+p06zoXtU4zffglATv6/bC9fXrc/mOiBPpfpfj6/Z3A1zfHxGNK8OG8eHB0jjut8nY6O+3bt5rH8sr2mdSach2/g3++v2+e8zh3zIYzjCozd4m7uVW0mnW65Ht7a/luu4+8eSz1/Za6/bj/eMPZwfuTx33mev6EG5joqjVuvpW5xzSZzPNT93delM66j3kAr0Wz+mljdnzfluiBdI++3nY+1d46Lrw2yvffWqo6f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CvE9CqAACqAACqAACqAACqAACqAACqAACqAACqAACqDAwylA8fvhUobDKIACKIACKIACKIACKIACKIACKIACKHBMgZcXSj/HlKIVCqDAMyrACviMWSUmFEABFEABFEABFEABFEABFEABFEABFNi2LRW/KYCDAgqgwEdVgOL3R808caMACqAACqAACqAACqAACqAACqAACjy9Aqnw/e/+v39PAfzpM02AKIACkQIUvyNVOIYCKIACKIACKIACKIACKIACKIACKIACT6CAFL8pgD9BMgkBBVDgZAUofp8sGR1QAAVQAAVQAAVQAAVQAAVQAAVQAAVQ4DEU0MVvCuCPkTO8RAEUuJ4CD1L8/mP7/qX8RtXLtx/Xix5LKIACKIACKIACKIACKIACKIACKIACKPDECvjiNwXwJ042oaEACgwKHCt+/3xt/0BCWjTlv8+//tEM/vhWj3/5vvWj7esL35xX/G4+KZ/Fd3l9/Xmha3RHARRAARRAARRAARRAARRAARRAARRAgTtVINU/UsHb/5eO8z8UQAEUeHYFdlY6VXR+ed36M9dyvB9rheY7Kn7r5P3x6+datP+8ff9df8N7FEABFEABFEABFEABFEABFEABFEABFHhOBWbFb54Af858ExUKoIBVYF38/v379rk+Na2f8hYTP76V4ncrfJsnrGthfPLUePTEdS9Q96fLy8+cSLH9Zes/e/Jje23j9SK8+OZfu+2o+N1tpThbPOknVpQG8rR4eo302KJYzc2APk6zZX7GRX1vjvto+IwCKIACKIACKIACKIACKIACKIACKIAC+wqsit8UwPf1owUKoMBjK3C4+P1iirhj0K1gvNNOF4h7AVwVt3X/VEzORWD1vf9snkgf/ZIjR4vfrSidCutRAVoVw3UBvMWv/UltJR4pjMvnzceUPKX4LfniFQVQAAVQAAVQAAVQAAVQAAVQAAVQ4HIF9orfFMAv1xgLKIAC96vAuvidyrHyW97tKev4H55s7VpxdxZ0L/q24rEUhl+ip7KTnd4nFaTXhex43HWfXnRuPsVm8tEWqxTHVUG8F/S1ge6/tt99kifXux9h4V2b5D0KoAAKoAAKoAAKoAAKoAAKoAAKoAAK7CgwK36bh/9qzWfHFF+jAAqgwMMpsFv8zhG14rT6OZK8MErRVhXJo+L3rH8tHo9FYK9jLx7rxVkXkn0P/7mPERXYe9E5tKmK23r89jR8iy+ynTzp9k3/dkOh6+j95jMKoAAKoAAKoAAKoAAKoAAKoAAKoAAKnKtAqkPIP3bp359rk34ogAIo8CgKHCt+u2jak88vL5s86dyOueJ3O95+DkQVsi8sfr80m87B4OO5xe+oX4tJYj2h+B0W1wN/OYQCKIACKIACKIACKIACKIACKIACKIAClyogBe/0mv4nn/m5k0uVpT8KoMAjKLAufv983f2HHdfF7/7Ecy/6jsXv/jvgsyenfZ9u9+jPg0RF7J6gbq/7mb7145YeQ/FbPRkuenTbczu2TfrU/Tga12iDIyiAAiiAAiiAAiiAAiiAAiiAAiiAAihQFEjFbil8pyMUvyEDBVDgIymwW/zOi6Q84VyVGYq/qUz86+e8gNqnsYPisSoU9wKvaqfHSk9U56fD1ffD0+L96fNV4rp/UYG9F51t8Tv6OZfetv3sifltdPUTJilWiac9He78TcelDcXvVQr5DgVQAAVQAAVQAAVQAAVQAAVQAAVQ4EQFdOFbulIAFyV4RQEUeHYF1sVvU9S1v/fti8TmKWn9e+C62J2Of3ndXr/E/2hmL1CrsSbFbzteVNC2qeu2o7a9oD3G1b/LNwJeXrdX+UdAW9G6jqUK3KVtivf79kdzxdvyOqjva5G/deUNCqAACqAACqAACqAACqAACqAACqAAClxBAYrfVxAREyiAAg+hwG7x+yGiwEkUQAEUQAEUQAEUQAEUQAEUQAEUQAEUQIHDClAAPywVDVEABR5YAYrfD5w8XEcBFEABFEABFEABFEABFEABFEABFECBcxSg+H2OavRBARR4NAUofj9axvAXBVAABVAABVAABVAABVAABVAABVAABa6ggPxk6xVMYQIFUAAF7lIBit93mRacQgEUQAEUQAEUQAEUQAEUQAEUQAEUQAEUQAEUQAEUuEQBit+XqEdfFEABFEABFEABFEABFEABFEABFEABFEABFEABFECBu1SA4vddpgWnUAAFUAAFUAAFUAAFUAAFUAAFUAAFUAAFUAAFUAAFLlGA4vcl6tEXBVAABVAABVAABVAABVAABVAABVAABVAABVAABVDgLhWg+H2XacEpFEABFEABFEABFEABFEABFEABFEABFEABFEABFECBSxSg+H2JevRFARRAARRAARRAARRAARRAARRAARRAARRA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ATAABsAAGAADYAAMgAEw8JkMIPmN5DeS32AADIABMAAGwAAYAANgAAyAATAABsAAGAADYAAMgIGHYwDJb0D9cFB/5tMk9I2nmWAADIABMAAGwAAYAANgAAyAATAABsAAGAADYOA+GEDyG8lvJL/BABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGAADD8cAkt+A+uGgxpO1+3iyhjggDmAADIABMAAGwAAYAANgAAyAATAABsAAGAADn8kAkt9IfiP5DQbAABgAA2AADIABMAAGwAAYAANgAAyAATAABsAAGHg4BpD8BtQPB/VnPk1C33iaCQbAABgAA2AADIABMAAGwAAYAANgAAyAATAABu6DASS/kfxG8hsMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAATDwcAwg+Q2oHw5qPFm7jydriAPiAAbAABgAA2AADIABMAAGwAAYAANgAAyAATDwmQwg+Y3kN5LfYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANgAAyAgYdjAMlvQP1wUH/m0yT0jaeZYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAANg4D4YQPIbyW8kv8EAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAAMPxwCS34D64aDGk7X7eLKGOCAOYAAMgAEwAAbAABgAA2AADIABMAAGwAAYAAOfyQCS30h+I/kNBsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAGwAAYeDgGkPwG1A8H9Wc+TULfeJoJBsAAGAADYAAMgAEwAAbAABgAA2AADIABMAAG7oMBJL+R/EbyGwyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADIABMPBwDCD5DagfDmo8WbuPJ2uIA+IABsAAGAADYAAMgAEwAAbAABgAA2AADIABMPCZDCD5jeQ3kt9gAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2AADICBh2MAyW9A/XBQf+bTJPSNp5lgAAyAATAABsAAGAADYAAMgAEwAAbAABgAA2DgPhhA8hvJbyS/wQAYAANgAAyAATAABsAAGAADYAAMgAEwAAbAABgAAw/HAJLfgPrhoMaTtft4soY4IA5gAAyAATAABsAAGAADYAAMgAEwAAbAABgAA5/JAJLfSH4j+Q0GwAAYAANgAAyAATAABsAAGAADYAAM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" width="754" /></p><p> /healthz is a standard naming convention for health-check pages, <a href="https://stackoverflow.com/a/43381061/402949" target="_blank">originally from Google</a>, and build into Sitecore since 9.3, as these articles by <a href="https://neilkillen.com/2019/12/15/monitoring-sitecore-containers/" target="_blank">Neil Killen</a> and <a href="https://blog.vitaliitylyk.com/sitecore-9-3-health-checks/" target="_blank">Vitalii Tylyk </a>explain. (I did a fair amount of "healthz" Googling today.)</p><p>I'm still not sure what was wrong with my SITECORE_LICENSE setting. I removed the variable form my .env file (which sets environment variables for docker-compose) and used the Set-LicenseEnvironmentVariable <a href="https://github.com/Sitecore/docker-images/blob/master/Set-LicenseEnvironmentVariable.ps1" target="_blank">script</a> from the Docker-Images repo. That worked, then I removed it, and moved the value back to the .env file and my issue went away. Best guess, I had an invalid value in my main environment variable, which takes precedence. I confirmed this by setting my environment variable to "BAD" at the OS level. Precedence discussed here; </p><p style="background-color: white; box-sizing: border-box; color: #33444c; font-size: 14px; line-height: 24px; margin: 10px 0px;"><span style="font-family: inherit;">When you set the same environment variable in multiple files, here’s the priority used by Compose to choose which value to use:</span></p><ol style="background-color: white; box-sizing: border-box; color: #33444c; font-size: 14px; margin-bottom: 10px; margin-top: 0px;"><li style="box-sizing: border-box;"><span style="font-family: inherit;">Compose file</span></li><li style="box-sizing: border-box;"><span style="font-family: inherit;">Shell environment variables</span></li><li style="box-sizing: border-box;"><span style="font-family: inherit;">Environment file</span></li><li style="box-sizing: border-box;"><span style="font-family: inherit;">Dockerfile</span></li><li style="box-sizing: border-box;"><span style="font-family: inherit;">Variable is not defined</span></li></ol><span face="" style="color: #33444c;"><span style="font-size: 14px;"><br /></span></span><span face="" style="background-color: white; color: #33444c; font-family: inherit; font-size: 14px;">From: <a href="https://docs.docker.com/compose/environment-variables/">https://docs.docker.com/compose/environment-variables/</a></span><br /><p></p><p>One final note. The healthcheck.ps1 script checks for the existence of a lock file at $env:LOCALAPPDATA\Healthcheck\readylock. If present, it checks /healthz/live, otherwise it checks /healthz/ready. This file was missing when I had my license issues, but is now present on the running system, so I assume it is created after Sitecore comes on line. Per Vitali Tylyk's Docker <a href="https://blog.vitaliitylyk.com/sitecore-9-3-loves-docker/" target="_blank">post</a>, /ready is the more thorough check, since it checks Solr and the presence of core, master, web, and security in SQL Server, so presumably the reason that it is not used after the lock file is written is to reduce load. Once the presence of these is confirmed, healthcheck.ps1 uses the simpler "live" check.</p>Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-56834306307508797312020-05-15T13:18:00.001-04:002020-05-15T13:20:31.059-04:00Using Bucket Search to find empty field valuesThe bucket search interface is an under used feature in Content Editor, at least underutilized by me. One of the things that's always thrown me off is the OR vs. AND syntax. I'm currently doing some discovery using the <a href="https://github.com/Sitecore/Helix.Examples">Helix.Examples</a> site, and I need to clear the related product values. I thought it would be helpful to be able to see the ones I've already cleared, or the ones that I still have left to do. (There's just 20, or else I would have installed Sitecore PowerShell Extensions to do this.)<br />
<br />
So far, I've cleared the Related Products field on 5 of the 20 Product Detail Page items. Let's see this in the bucket query:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9qYuS_6T1qhyH9hau9lG_xKcyfLUQQ5cM5YU1tbC-t-mBU93Ua7ZctyKTRCkMjcCl9uJqzaRMMTC5fR3ueefPov4hRQbCzV19QftBK_Sz-AqPx1SlEFDAfVH6g3CF6BIvdI1vpQFElDw/s1600/2020-05-15+12_15_22-Clipboard.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="458" data-original-width="1600" height="183" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9qYuS_6T1qhyH9hau9lG_xKcyfLUQQ5cM5YU1tbC-t-mBU93Ua7ZctyKTRCkMjcCl9uJqzaRMMTC5fR3ueefPov4hRQbCzV19QftBK_Sz-AqPx1SlEFDAfVH6g3CF6BIvdI1vpQFElDw/s640/2020-05-15+12_15_22-Clipboard.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
Okay, let's restrict to my bucketed type, to avoid the Shared Content and the Bucket folders (like "2019"). Type "<b>tem</b>" and tab out the autocomplete to "template"<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcBKw_1jbz4_bwAvC7Aq-gGzNrVCG_S7cW76iufrGmlxZrUj9mLAvM9Tf3jtT9223_PgyMRRCiLfZAWqET8k_F6Gs6ize2ww68bF9G1-s43krClru3Xsrqr2E7GvIF2mlHnILZowcRW6E/s1600/2020-05-15+12_16_38-Content+Editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="135" data-original-width="1046" height="82" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcBKw_1jbz4_bwAvC7Aq-gGzNrVCG_S7cW76iufrGmlxZrUj9mLAvM9Tf3jtT9223_PgyMRRCiLfZAWqET8k_F6Gs6ize2ww68bF9G1-s43krClru3Xsrqr2E7GvIF2mlHnILZowcRW6E/s640/2020-05-15+12_16_38-Content+Editor.png" width="640" /></a></div>
<br />
A weird bit of UI glitchiness is you will just see "Template" (at least it's capitalized now), until you type a colon (:), then you get a little selector field with autocomplete. Select your template type:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidsVjEGoeitlkdMuhAttdOOI2JeblSwFMeGH1CDT7w5g6KZN5icYWSfVmtUJShMoXD2qBjkXMniiG5_8UwpCVrQ_C3CZNQpHVLFqArnu1njeMLGjLKh4xrCxFJeEOL3mP3sP1E_ALGdco/s1600/2020-05-15+12_17_06-Content+Editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="347" data-original-width="1168" height="190" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidsVjEGoeitlkdMuhAttdOOI2JeblSwFMeGH1CDT7w5g6KZN5icYWSfVmtUJShMoXD2qBjkXMniiG5_8UwpCVrQ_C3CZNQpHVLFqArnu1njeMLGjLKh4xrCxFJeEOL3mP3sP1E_ALGdco/s640/2020-05-15+12_17_06-Content+Editor.png" width="640" /></a></div>
And we get 20 results as expected.<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTrUogsRov3dBx5bgzQ2LGv_okVAkYJzSUgj3MuQjKsTUjzK7WkRxMyPpAiITpOqeRqcAqKlJQzua_IPsZjrR8ig806zxVCh4As-wSl6EFheTAOKQqWiEHWdGl7x8X7xgVVSzNVfgq4xI/s1600/2020-05-15+12_17_42-Content+Editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="286" data-original-width="1477" height="123" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTrUogsRov3dBx5bgzQ2LGv_okVAkYJzSUgj3MuQjKsTUjzK7WkRxMyPpAiITpOqeRqcAqKlJQzua_IPsZjrR8ig806zxVCh4As-wSl6EFheTAOKQqWiEHWdGl7x8X7xgVVSzNVfgq4xI/s640/2020-05-15+12_17_42-Content+Editor.png" width="640" /></a></div>
<br />
Okay, now let's add the filter by field value. Type a "c" and tab out to "custom", then type a colon to get the field selector:<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ1cIWe1UXmier2gawRqPbNJvmNOxl39di7TZrtK-T5ZOQrEO3DQb0i_R0c6dfJpNOCSlliPWSYdOARj4CYBnk6F0BBMPihqK8ky_tGhdsC4BlJvrIbrQDosTtYxPg50VEdvqwRD7uWJ0/s1600/2020-05-15+12_18_40-Content+Editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="194" data-original-width="1343" height="92" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQ1cIWe1UXmier2gawRqPbNJvmNOxl39di7TZrtK-T5ZOQrEO3DQb0i_R0c6dfJpNOCSlliPWSYdOARj4CYBnk6F0BBMPihqK8ky_tGhdsC4BlJvrIbrQDosTtYxPg50VEdvqwRD7uWJ0/s640/2020-05-15+12_18_40-Content+Editor.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now type "r" and select "related products" which brings up this:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXQ2VqRpsM1oiaIwUjAUI6khWSIiJPq7fZSyrZQlKbp_FXDH194hZ37kNqtq8tIIBVd0OMNvT1mJBEDh9yZbCEAoxoTK8JDIqPqL44x2LwHil9ot-yCpcYdBXOS2NWMQDMV85my8BxLDc/s1600/2020-05-15+12_42_11-Content+Editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="192" data-original-width="1067" height="115" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXQ2VqRpsM1oiaIwUjAUI6khWSIiJPq7fZSyrZQlKbp_FXDH194hZ37kNqtq8tIIBVd0OMNvT1mJBEDh9yZbCEAoxoTK8JDIqPqL44x2LwHil9ot-yCpcYdBXOS2NWMQDMV85my8BxLDc/s640/2020-05-15+12_42_11-Content+Editor.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Type an asterisk after the pipe symbol to select any non-empty value:</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_I8jNc7WQRdCv4zBMqypA0f1EtJ8f1CIUvtwA6pbP257J1hZ0ZDgscIbr8l9Da5Mj-gxEd0bE1Y1hIQLCY_7AnjVvFP9-2bnVqR8H1y9RVs_GkAtKMX8kycO7h96mqQ824jX7I00CZOY/s1600/2020-05-15+12_45_24-Content+Editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="217" data-original-width="1024" height="135" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_I8jNc7WQRdCv4zBMqypA0f1EtJ8f1CIUvtwA6pbP257J1hZ0ZDgscIbr8l9Da5Mj-gxEd0bE1Y1hIQLCY_7AnjVvFP9-2bnVqR8H1y9RVs_GkAtKMX8kycO7h96mqQ824jX7I00CZOY/s640/2020-05-15+12_45_24-Content+Editor.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Why did we get 20 results if 5 items have been cleared? The field is not empty condition is getting treated as an "OR" condition, so the template condition is causing the undesired fields values to be included. By clicking on the magnifying glass icon next to "Related Products", we can make that an AND condition, and now we get 15. Nice!</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE0icYY3grSGNGbzIREOz56Z46U29pgIWNL_i3PA4ZufGC6umO1kwmpsm40TBk5yxzHsjkBXi9bacNXVzy0RlgGdZ2qrNv0HkCQAAEosCeIK3njuZf1y6uHkqXiQHH4RkQ289xpHWyXcU/s1600/2020-05-15+12_20_28-Content+Editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="349" data-original-width="1491" height="149" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgE0icYY3grSGNGbzIREOz56Z46U29pgIWNL_i3PA4ZufGC6umO1kwmpsm40TBk5yxzHsjkBXi9bacNXVzy0RlgGdZ2qrNv0HkCQAAEosCeIK3njuZf1y6uHkqXiQHH4RkQ289xpHWyXcU/s640/2020-05-15+12_20_28-Content+Editor.png" width="640" /></a></div>
<br />
Click it again to make it a NOT condition, and now we have only those items with that field empty, and now we get 5.<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqfzxM0LLVFuOOEv95xcu4Ytezal8sUkRtc4piVxpPa3t0ErooG2Rp-VO1klQIftMejCe_Xdo8FDR06XkkgErb9PyA9OrSdsGHuafAm-eGOJz_wuZsnmZHc-CdIQx74xTquEYFJf0Ma_k/s1600/2020-05-15+12_21_36-Content+Editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="214" data-original-width="1211" height="113" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqfzxM0LLVFuOOEv95xcu4Ytezal8sUkRtc4piVxpPa3t0ErooG2Rp-VO1klQIftMejCe_Xdo8FDR06XkkgErb9PyA9OrSdsGHuafAm-eGOJz_wuZsnmZHc-CdIQx74xTquEYFJf0Ma_k/s640/2020-05-15+12_21_36-Content+Editor.png" width="640" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjua_NJDhC2o84KtIwtKquL_QQyba_41WDFI6wfxLBPBfoFJHY_rA2l4f1RNrdiAhRZXQCpkN6YwOtSGVT0xWDjxjq7Qrf-f1FOxdBRaqeaLijxC3bNA3kM_0xm2NaBe1JTKMtY_ZbG6lk/s1600/2020-05-15+12_22_14-Content+Editor.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="329" data-original-width="1483" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjua_NJDhC2o84KtIwtKquL_QQyba_41WDFI6wfxLBPBfoFJHY_rA2l4f1RNrdiAhRZXQCpkN6YwOtSGVT0xWDjxjq7Qrf-f1FOxdBRaqeaLijxC3bNA3kM_0xm2NaBe1JTKMtY_ZbG6lk/s640/2020-05-15+12_22_14-Content+Editor.png" width="640" /></a></div>
<br />
<br />
And you can see in your Search log what is going to Solr. OR, AND and NOT syntax bits called out below:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghyphenhyphen8l75WSWlYGtS2SxMLp8rnnx1R1Ka7A_B1A_96Hr1ZZ6iYeHC2QHZpEWLToiqWA-p1t7SYkP3VCsyP7LEOATI9-Vdqm2TavYIYnppsyrLSirWCK62k_gf5atDBt7s3ch4soGIbOXV6M/s1600/2020-05-15+13_00_51-Search.log.20200515.100357.txt+-+NewDevEx.Preview+-+Visual+Studio+Code.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="233" data-original-width="1224" height="120" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghyphenhyphen8l75WSWlYGtS2SxMLp8rnnx1R1Ka7A_B1A_96Hr1ZZ6iYeHC2QHZpEWLToiqWA-p1t7SYkP3VCsyP7LEOATI9-Vdqm2TavYIYnppsyrLSirWCK62k_gf5atDBt7s3ch4soGIbOXV6M/s640/2020-05-15+13_00_51-Search.log.20200515.100357.txt+-+NewDevEx.Preview+-+Visual+Studio+Code.png" width="640" /></a></div>
<br />
That was a lot of screen shots for a pretty simple feature, but I've always found the autocomplete a little perplexing, especially the bit about having to type a colon to make the field selector logic appear, and needed to click the condition into AND mode.<br />
<br />
Happy Sitecoring!<br />
<br />Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-53070636926675380602019-08-25T23:55:00.000-04:002019-08-25T23:58:52.380-04:00Overview of the Commerce 9.1 SIF Installation ProcessThe Sitecore Commerce installation really puts SIF through its paces, and a number of things can go wrong along the way. Having a clear sense of what the script is doing, how it is structured, what the bumps are, and how to pick thing up after an error can make a big difference, so I thought I'd share my experiences. These notes are based on the Commerce 9.1 installation, though I touch on what has changed since 9.0. I hope to look at the recently released 9.2 installation process in a future post.<br />
<br />
<a name='more'></a><h3>
Commerce SIF Structure and Function</h3>
<div>
The Commerce download contains a number of sub zip directories:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXrfBFF5iIn6_1c3pMGavmafvcJERo0247MJbivFXNoJ4VP2Kfh4c17sW2lM6ZWIEnUf8Dm2Phd74zaauEwtImQtPY8jyJUCgc4hUqo1KS_ChSX-uWKBFaH9QIyDo8fwvMvsqc_LSsmQE/s1600/Download+contents.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="928" data-original-width="951" height="312" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXrfBFF5iIn6_1c3pMGavmafvcJERo0247MJbivFXNoJ4VP2Kfh4c17sW2lM6ZWIEnUf8Dm2Phd74zaauEwtImQtPY8jyJUCgc4hUqo1KS_ChSX-uWKBFaH9QIyDo8fwvMvsqc_LSsmQE/s320/Download+contents.png" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
<br /></div>
<div>
These zips fall into three categories: classic packages to be installed on Sitecore, external site roots for the commerce engine and the Business Tools (a.k.a. "bizfx") and "SIF.Sitecore.Commerce.x.x.x.zip", the SIF installation resources required for the install. The rest of this post reviews the contents of that folder, analyzes the process and shares a few things that can go wrong and how to resolve them.</div>
<div>
<br /></div>
<div>
Note: The 9.0.x installation process also contained a zip of an early version of the Sitecore Identity server, but since 9.1 that is now part of the main installation.</div>
<div>
<br /></div>
<div>
Another note: SIF is tricky but very powerful. It is pretty much the de facto documentation of the installation process, where settings live, what cert thumbprint needs to be set where. You need to learn to read it. I found <a href="https://www.youtube.com/playlist?list=PL1jJVFm_lGnwA8Mfwvpt0yFdsYKL5yT43">this video series</a> (eight short 2 to 3 minute videos) extremely helpful.</div>
<h3>
Inside the SIF folder</h3>
<div>
There are three levels of PowerShell scripts in the SIF folder. The Deploy-Sitecore-Commerce.ps1 file in the top level:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUBSpNqzZeXqcDLfT2IhjSyXBvDQLsc5lf9_MWKGCXqlxSZokC1gdc_d5HBLbGXVjGBx46K3sLmv6fKO_h-DFsa1O45ACEDzkQuEKpnxUEiVv-AqaQfYxVVJrlkb62LlwfD9q8JiDPJYQ/s1600/2019-08-25+17_14_53-SIF.Sitecore.Commerce.2.0.19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="290" data-original-width="504" height="184" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUBSpNqzZeXqcDLfT2IhjSyXBvDQLsc5lf9_MWKGCXqlxSZokC1gdc_d5HBLbGXVjGBx46K3sLmv6fKO_h-DFsa1O45ACEDzkQuEKpnxUEiVv-AqaQfYxVVJrlkb62LlwfD9q8JiDPJYQ/s320/2019-08-25+17_14_53-SIF.Sitecore.Commerce.2.0.19.png" width="320" /></a></div>
<div>
This is used to configure parameters (SQL Sever connection, Sitecore password, URL names, etc.) and contains almost no logic. (There's a if/then for whether you are using Solr or Azure search. That's it.) It in turn calls Configuration/Master_SingleServer.json which does the actual orchestration of the installation, visible in the "Tasks" section:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSblvrAFZ7DmZ7FngRvvTJpQFMis2NQU13iRBwB3dNK7hWON0HnSpBwPo77E-B44LXTApqJBMoxqGG-wvyrwbSWT8OfMWAA5rhQFW8E0EztljsyhyWVASvIkVUGWFWcjGAqZlTA1zH9mA/s1600/2019-08-25+17_25_58-Master_SingleServer.json+-+SIF.Sitecore.Commerce.2.0.19+-+Visual+Studio+Code.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="970" data-original-width="1561" height="395" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSblvrAFZ7DmZ7FngRvvTJpQFMis2NQU13iRBwB3dNK7hWON0HnSpBwPo77E-B44LXTApqJBMoxqGG-wvyrwbSWT8OfMWAA5rhQFW8E0EztljsyhyWVASvIkVUGWFWcjGAqZlTA1zH9mA/s640/2019-08-25+17_25_58-Master_SingleServer.json+-+SIF.Sitecore.Commerce.2.0.19+-+Visual+Studio+Code.png" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div>
Here's a list of the actual tasks, along with a brief description of what they do:<br />
<ul>
<li>SetIdentityServerCommerceConfiguration </li>
<ul>
<li>Set up the identity server to expect to support authentication from the commerce engine and bizfx</li>
</ul>
<li>InstallSolrCores</li>
<ul>
<li>Setup Solr cores required by the commerce engine</li>
</ul>
<li>DeployCommerceEngine</li>
<ul>
<li>Creates four instances of the Commerce engine site (for authoring, shops, minions, and DevOps)</li>
</ul>
<li>DeploySitecoreBizFx</li>
<ul>
<li>Deploys the authoring "Business Tools" from end for the Commerce Engine.</li>
</ul>
<li>PreconfigureStorefrontInstance</li>
<ul>
<li>This one does a lot: creates a signed cert for the storefront web site, changes the binding to that (removing the existing one), creates a host file entry, and disables indexing.</li>
</ul>
<li>InstallPowershellExtensions</li>
<li>InstallSXAFrameworkModule</li>
<li>PublishExtensions</li>
<li>InstallHabitatImagesModule</li>
<li>InstallAdventureWorksImagesModule</li>
<li>InstallCommerceConnectModule</li>
<ul>
<li>Install Commerce Connect, generalized connection layer to wire Sitecore front end and xDB to a third-party commerce provider</li>
</ul>
<li>InstallCommercexProfilesModule</li>
<ul>
<li>Extensions to the Experience Profile</li>
</ul>
<li>InstallCommercexAnalyticsModule</li>
<ul>
<li>Extensions to Experience Analytics</li>
</ul>
<li>CopyConnectModels</li>
<ul>
<li>Deploy model configuration to xConnect</li>
</ul>
<li>InstallCommerceMAModule</li>
<ul>
<li>Marketing automation configuration</li>
</ul>
<li>InstallCommerceEngineConnectModule</li>
<ul>
<li>Customizations to Commerce Connect for Sitecore Commerce</li>
</ul>
<li>InstallSXAStorefrontModule</li>
<li>InitializeCommerce</li>
<ul>
<li>Configures Sitecore XP to point to the Commerce Engine</li>
</ul>
<li>InitializeCommerceEngine</li>
<ul>
<li>This "bootstraps" the commerce engine, which causes a number of JSON files to be loaded to the commerce "Global" database.</li>
</ul>
<li>InitializeCommerceEngineUsingHost</li>
<ul>
<li>Same as above, but using a full URL, not a localhost port.</li>
</ul>
<li>EnableCEConnectDataProvider</li>
<ul>
<li>Enables the Sitecore config file for the Commerce data provider.</li>
</ul>
<li>GenerateCatalogTemplates</li>
<ul>
<li>Run Sitecore Commerce Engine Connection functionality to dynamically generate templates. </li>
</ul>
<li>CreateDefaultTenantAndSite</li>
<ul>
<li>Create the "Sitecore" SXA tenant and the "Storefront" site, and associate the sample Habitat catalog to this site. This is driven by powershell configuration items loaded with the SXAStorefrontModule packages.</li>
</ul>
<li>PublishCommerce</li>
<li>PostconfigureStorefrontInstance</li>
<ul>
<li>Reenables search</li>
</ul>
<li>EnableCEConnectIndexing</li>
<ul>
<li>Switches on some configs</li>
</ul>
<li>Reindex</li>
<li>RemoveSiteUtilityFolder</li>
<ul>
<li>Removes a folder with ASPX utility files for publishing, loading packages, and indexing.</li>
</ul>
</ul>
<br />
Small Powershell side note: I got that list with these command:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">$config = (Invoke-ReadJsonConfigFunction "SIF.Sitecore.Commerce.2.0.19\Configuration\Commerce\Master_SingleServer.json" )</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">$config.Tasks.GetMembers() |% {"<li>$($_.Name)</li>"} | clip</span><br />
<div>
<br /></div>
<br />
<div>
Summarizing, the installation configures a new cert bound site binding, creates the engine and business tool websites, installs packages to Sitecore, loads commerce engine configuration, creates the default tenant and site, reindexes and does some cleanup.<br />
<br /></div>
</div>
<h3>
Tracking Down What's Happening</h3>
<div>
I mentioned above that the script logic has three layers. First, in Deploy-Sitecore-Commerce.ps1, there is the invocation of the command "Install-SitecoreCommerce" with a whole bunch of parameters, including "Path", which points to "Master_SingleServer.json". Next, Master_SingleServer.json has tasks for another layer of SIF files. For example, the first task, SetIdentityServerCommerceConfiguration, has this definition in Master_SingleServer.json:</div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "SetIdentityServerCommerceConfiguration": {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Type": "InstallSitecoreConfiguration",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Params": {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Path": "[concat(parameter('BaseConfigurationFolder'), '\\Commerce\\IdentityServer\\sitecore-identity-config.json')]",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "CommerceInstallRoot": "[parameter('CommerceInstallRoot')]",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "SitecoreIdentityServerApplicationName": "[parameter('SitecoreIdentityServerApplicationName')]",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "CommerceServicesHostPostfix": "[parameter('CommerceServicesHostPostfix')]"</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> }</span></div>
</div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><br /></span></div>
<div>
Almost all the Master-SingleServer tasks are of type "InstallSitecoreConfiguration", which calls the script in the "Path" parameter, passing along the other parameters to "sitecore-identity-config.json". Going to this file show the following tasks:</div>
<div>
<br /></div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "UpdateIdentityServerCommerceConfiguration": {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Skip": "[not(parameter('CommerceServicesHostPostfix'))]",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Type": "SetXml",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Params": {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "FilePath": ".\\IdentityServer\\Sitecore.Commerce.IdentityServer.Host.xml",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "XPath": "//Settings/Sitecore/IdentityServer/Clients/CommerceClient/AllowedCorsOrigins",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Element": "AllowedCorsOriginsGroup2",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Value": "[variable('Group2')]"</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> }</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> },</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "CopyIdentityServerCommerceConfiguration": {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Type": "Copy",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Params": {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Source": ".\\IdentityServer\\Sitecore.Commerce.IdentityServer.Host.xml",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Destination": "[joinpath(parameter('CommerceInstallRoot'), concat(parameter('SitecoreIdentityServerApplicationName'), '\\Config\\production\\Sitecore.Commerce.IdentityServer.Host.xml'))]"</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> }</span></div>
</div>
<div>
<br /></div>
<div>
Now, note that these tasks do not have "Type" set to "InstallSitecoreConfiguration", so they won't be hitting yet another json SIF file. The meaning of "SetXml" is pretty clear, but what does it actually do? Well, if you have SIF installed and you run:</div>
<div>
<br /></div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">PS C:\WINDOWS\system32> Get-SitecoreInstallExtension |? {$_.Name -eq "SetXml"}</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">Name Type Command Module</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">---- ---- ------- ------</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">SetXml Task Invoke-SetXmlTask SitecoreInstallFramework</span></div>
</div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><br /></span></div>
<div>
You can see the name in the "Type" parameter maps to a PowerShell command, "Invoke-SetXmlTask". (This "Invoke-<name>Task" is followed for all Sitecore written SIF commands, but a few mappings of standard PowerShell functions do not follow this convention. Run an unfiltered "Get-SitecoreInstallExtension" to see the complete list of mappings.)</div>
<div>
<br /></div>
<div>
So how can we see the implementation of Invoke-SetXmlTask? One way is to run </div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">>Get-Command Invoke-SetXmlTask -ShowCommandInfo </span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div>
<span style="font-family: inherit;">which "decompiles" the command. (You can even run this on "Import-SitecoreConfiguration" to see exactly how SIF itself is implemented. Blog it for extra credit.) Here's a bit of the implementation of Invoke-SetXmlTask:</span></div>
<div>
<br /></div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> function HasMember($x, $Name) {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> return $x.psobject.Members.Where({($_.MemberType -eq 'Property') -and ($_.Name -eq $Name) })</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> }</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> [xml]$xml = Get-Content $FilePath</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> WriteTaskInfo -Tag Update -MessageData "$FilePath"</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> if($found = Select-XML -Xml $xml -XPath $XPath) {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $found.ForEach({</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $contextNode = $_.Node;</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> if($PSCmdlet.ParameterSetName -eq 'Add'){</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $ns = $xml.DocumentElement.NamespaceURI</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $newNode = $xml.CreateElement($Element, $ns)</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $newNode.InnerText = $Value</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> if(($contextNode.ChildNodes.Count -eq 1) -and ($contextNode.ChildNodes[0].Name -eq</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> '#text')) {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> $contextNode.InnerText = ''</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> }</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><br /></span></div>
<div>
This works for the main SIF defined commands, but the commerce specific scripts make use of commands defined in PowerShell modules. For example, the script CommerceEngine.Deploy.json registers the following modules:<br />
<br /></div>
</div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "Modules": [</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "ManageCommerceService",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "DeployCommerceDatabase",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "DeployCommerceContent",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "WindowsLocal",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> "SitecoreUtilityTasks"</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> ]</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><br /></span></div>
<div>
<span style="font-family: inherit; font-size: xx-small;">So the task DeployCommerceDatabase:</span><br />
<br />
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
"DeployCommerceDatabase": {</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
"Type": "DeployCommerceDatabase",</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
"Params": {</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
"CommerceServicesDbServer": "[parameter('CommerceServicesDbServer')]",</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
"CommerceServicesDbName": "[parameter('CommerceServicesDbName')]",</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
"CommerceServicesGlobalDbName": "[parameter('CommerceServicesGlobalDbName')]",</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
"CommerceEngineDacPac": "[parameter('CommerceEngineDacPac')]",</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
"UserName": "[concat(parameter('UserDomain'), concat('\\', parameter('UserName')))]"</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
}</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
}</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
<br /></div>
<div>
<span style="font-family: inherit;">makes use of a type, "DeployCommerceDatabase", that is not part of OOTB SIF, but is instead defined in DeployCommerceDatabase.pms1, which contains the actual implementation:</span></div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
<br /></div>
<div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
#Drop the CommerceServices databases if they exist</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
Write-Host "Deleting existing CommerceServices databases...";</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
Add-SQLPSSnapin;</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
DropSQLDatabase $CommerceServicesDbName</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
DropSQLDatabase $CommerceServicesGlobalDbName</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
<br /></div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
Write-Host "Creating CommerceServices databases...";</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
$connectionString = "Server=" + $CommerceServicesDbServer + ";Trusted_Connection=Yes;"</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
<br /></div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
#deploy using the dacpac</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
try {</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
deploydacpac $CommerceEngineDacPac $connectionString $CommerceServicesGlobalDbName</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
deploydacpac $CommerceEngineDacPac $connectionString $CommerceServicesDbName</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
write-host "adding roles to commerceservices databases...";</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
AddSqlUserToRole $CommerceServicesDbServer $CommerceServicesGlobalDbName $UserName "db_owner"</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
AddSqlUserToRole $CommerceServicesDbServer $CommerceServicesDbName $UserName "db_owner"</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
}</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
catch {</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
Write-Host $_.Exception</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
Write-Error $_ -ErrorAction Continue</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
$dacpacError = $TRUE</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
}</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
}</div>
<div style="font-family: "Courier New", Courier, monospace; font-size: small;">
<br /></div>
<div>
<span style="font-family: inherit;">So you can always see exactly what PowerShell commands are getting used to implement each step in the process. This can come in mighty handy when you need to do something like replace a certificate, and you want to see exactly where it is used. You can always use the SIF scripts as documentation on how to build a working installation.</span><br />
<span style="font-family: inherit;"><br /></span></div>
</div>
</div>
</div>
<h3>
Starting in the Middle</h3>
<div>
Something will go wrong. You can read from the SIF output exactly which task failed, you can configure Deploy-Sitecore-Commerce.ps1 to run from a certain point by adding a "From" parameter, and giving it the name of the first task in Master_SingleServer.ps1 that you wish to run:</div>
<div>
<br /></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">From = "DeployCommerceEngine"</span></div>
<div>
<br /></div>
<div>
Usually, you will not want to run the whole subtask again, so you can define where you want the subtask to start by adding a "From" parameter to the definition in Master_SingleServer.json:</div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">"From": "PreconfigureCommerceEngineOpsInstance"</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div>
<span style="font-family: inherit;">In short, you need to modify the top level Deploy-Sitecore-Commerce.ps1, and the second level Master_SingleServer.json. You need to read the third level configuration file to get the names of its tasks, but in my experience you don't need to modify the third level files.</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
Sometimes you just want to run a single task. That is easily done. In Deploy-Sitecore-Commerce.ps1, instead of a "From" parameter, use Tasks, and set it to an array:</div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">Tasks = ("DeployComerceEngine")</span></div>
<div>
<br /></div>
<div>
You do the same thing at the next level, but with JSON instead of PowerShell syntax:</div>
<div>
<br /></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">"Tasks": ["PreconfigureCommerceEngineOpsInstance"]</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div>
<span style="font-family: inherit;">Of course, you can list several tasks in the Tasks array. You can also use "To" if you know where you want your script to stop.</span></div>
<div>
<br /></div>
<h3>
A Few Pain Points</h3>
<div>
1. The DeployCommerceDatabases fails if SQL is not locally installed, so if using this script to deploy to a machine without SQL server, you will need to bypass this step using the "To" and "From" parameters described above. The error message, "SQL Server Provider for Windows PowerShell is not installed" is a little misleading. The SQL installation is pretty straightforward to do by hand in SSMS using the packaged DACPAC files. This <a href="https://blogs.msmvps.com/deborahk/deploying-a-dacpac-with-sql-server-management-studio/">post </a>describes how to do that.</div>
<div>
<br /></div>
<div>
2. The DeployCommerceDatabases also attempts to clear the existing databases in the default SQL Server instance on the machine. If you have two instances running, this might fail. Again, easy to do by hand.</div>
<div>
<br /></div>
<div>
3. The installation of the commerce engines depends on the names of sites to drive logic:</div>
<div>
<br /></div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"><span style="white-space: pre;"> </span>{($_ -match "CommerceShops") -or ($_ -match "CommerceAuthoring") -or ($_ -match "CommerceMinions")}</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div>
<span style="font-family: inherit;">So if you rename CommerceAuthoring to something else, say "XCAuthors", then the installation will be bypassed. (This should be an additional type parameter, so that implementers have full control over the site names. Of course you can modify the PowerShell module code, but I don't think the name of a site should be driving implementation logic.)</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">4. If an invalid cert gets stored in the Trusted Root Store of your machine, certificate validation can get broken. I moved the wrong cert to the wrong spot while troubleshooting, and I went half mad trying to figure out what was going on, until a more cert-savvy colleague dug me out of my jam. (Thank you, </span><a href="https://www.linkedin.com/in/sean-dailey-61880364/">Sean Dailey</a><span style="font-family: inherit;">!)</span></div>
</div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">5. A lot happens with the stock tenant install. If you later on try to create your own catalog instead of the out of the box "Habitat_Master", you will need to configure template overrides (defined in fields on the catalog itself) or each product and category will throw a null reference exception. How to do this is documented </span><a href="https://doc.sitecore.com/developers/91/sitecore-experience-commerce/en/walkthrough--configuring-direct-navigation-on-an-existing-site.html">here</a>. <span style="font-family: inherit;">Again, looking at the powershell to figure out what is going is often key to troubleshooting. Here, it was the Sitecore PowerShell extensions scripts in /sitecore/system/modules that contained the secret. (I'll come back to that in a later post.)</span></div>
<div>
<span style="font-family: inherit;"><br /></span></div>
<div>
<span style="font-family: inherit;">6. The scripts install SXA but don't add the SXA indexes, so you will have to do that at the end. Which I tried to do half way through the script process, only to find that indexing was shut off, which led to one of my sillier Sitecore Support tickets. I closed it once I found:</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span></div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">"DisableIndexUpdate": {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> // Speed up deployment</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> "Type": "SetXml",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> "Params": [</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> "FilePath": "[variable('ContentSearchConfig'))]",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> "Xpath": "[variable('ContentSearchEnabledXpath')]",</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> "Attributes": {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> "value": "false"</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> }</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> }</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> ]</span></div>
</div>
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
</div>
7. There are a few utility pages that get used during the installation. One of them, InstallModules.aspx, contains this line:<br />
<br />
<%@ Import Namespace="log4net" %><br />
[...]<br />
var log = LogManager.GetLogger("LogFileAppender");<br />
<br />
Unfortunately, log4net.LogManager exists in both the standard log4net DLL and Sitecore.Diagnostics, so if you use this script in a solution that has log4net in the bin directory, the compiler won't know which one to use. I wasn't able to find a way to scope references in an ASCX. and the first time I encountered this, I actually created a DLL that referenced the Sitecore DLL and added my own namespace to solve the problem. I may have written some powershell steps to automate changing the line of code, but I won't admit that here. Because when I took a second look at this a few moths later, I noted that "log" variable is never used! So adding "// " before the "var log = ..." took care of the issue. "Slash slash win" has become a minor personal mantra for looking carefully at a problem, and then doing the absolute minimum (economy of motion) to solve it.<br />
<br />
Okay, that's my brain dump on this. Having SIFting!</div>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-55666194714931199692017-07-10T07:15:00.000-04:002017-07-11T06:12:56.374-04:00Using Powershell to find duplicate IDs in serialized itemsOn my current project I was troubleshooting a failing integration test that makes use of the Sitecore FakeDB Serialization module, which can declarative load a branch of content directly from the file system. The setup method for this test was reporting a duplicate key exception, so I used PowerShell to identify the culprit.<br />
<a name='more'></a>The first step was to extract the IDs from the serialized *.item files. In the powershell prompt, I navigated to the root of the TDS directory, and used this command to get at the item IDs:<br />
<br />
>Get-ChildItem -recurse | Select-String '^id:' | More<br />
<br />
This looked like it was giving me the desired raw output:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb4uCNmsCh-S15ceTBpkC6etn_ZD7NErsqGUPdWuuAYgqX5lpGLHpk2LNfIpBUiDHDd_NpsuRB5_0yX2d1rTS1PCdijjcYStvOiSosqmN6t1klhvdWCIxZIehPigE5pM4oVpitSNwzOWY/s1600/2017-07-09_6-44-52.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="187" data-original-width="1165" height="102" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhb4uCNmsCh-S15ceTBpkC6etn_ZD7NErsqGUPdWuuAYgqX5lpGLHpk2LNfIpBUiDHDd_NpsuRB5_0yX2d1rTS1PCdijjcYStvOiSosqmN6t1klhvdWCIxZIehPigE5pM4oVpitSNwzOWY/s640/2017-07-09_6-44-52.bmp" width="640" /></a></div>
<br />
<br />
But I wasn't 100% sure what was what. For example, what was the "3" doing before the ":id:"? To get a closer look at the data returned, I piped this into Format-Table:<br />
<br />
>Get-ChildItem -recurse | Select-String '^id:' | Format-Table | More<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihrW43Ybpt5Irb9CvM11ulrfSzaDBz3vEsn4DvRSscQ9sT7rYZdxovixmY1xVPqoE4LAClzg3-w-lQMwCDJAj7_cLTU3NrLTZ8aatQx9OUZtyt0ijURi6T_9AuDU3wqpmAYD_jtets-I4/s1600/2017-07-08_7-14-17.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="224" data-original-width="1422" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihrW43Ybpt5Irb9CvM11ulrfSzaDBz3vEsn4DvRSscQ9sT7rYZdxovixmY1xVPqoE4LAClzg3-w-lQMwCDJAj7_cLTU3NrLTZ8aatQx9OUZtyt0ijURi6T_9AuDU3wqpmAYD_jtets-I4/s640/2017-07-08_7-14-17.bmp" width="640" /></a></div>
<br />
This shows what fields I have to work with. So to identify my duplicates, I needed to group by the "Line" field, which contained the Sitecore ID, and find those with a count greater than 1. A quick Google search turned up an <a href="http://windowsitpro.com/powershell/exploring-powershells-group-object-cmdlet" target="_blank">article</a> on how to do Group operations in PowerShell, and the previous output showed needed to group by the "Line" field. So now I had this:<br />
<br />
<br />
>Get-ChildItem -recurse | Select-String '^id:' | Group Line | More<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEpFSsIS4A6VR7Du7h7CEjujy4ZBVIDtQQV6NjXau_RwvoWVk25CcFckBtxUiVh47tAgILIaiDiHfCg-NFYnawuLkRXUrE1FNtTQjwUpSdNs_nRghow1sumwe6qK043bzrQqDC-Hh9sHE/s1600/2017-07-10_6-59-29.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="205" data-original-width="1446" height="90" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEpFSsIS4A6VR7Du7h7CEjujy4ZBVIDtQQV6NjXau_RwvoWVk25CcFckBtxUiVh47tAgILIaiDiHfCg-NFYnawuLkRXUrE1FNtTQjwUpSdNs_nRghow1sumwe6qK043bzrQqDC-Hh9sHE/s640/2017-07-10_6-59-29.bmp" width="640" /></a></div>
<br />
Following the example of the article I cited above, I used this to identify the duplicates:<br />
<br />
Get-ChildItem -recurse | Select-String '^id:' | Group Line | Sort Count -Descending | Select -First 5<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpuwoAAtQXLXAA3XfnazGHEfK378w3ZJj2B6I3U-W4pAUzgFJ0xwe5Wu_fcAzd49aq3rI7_H9M2_yCcarix3hde94CdUd-50Ftf2j4u_6da0nPmeRBQ3eGCF9gzxT42n4R_Q3lwc3FvJQ/s1600/2017-07-10_7-01-32.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="229" data-original-width="1444" height="100" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpuwoAAtQXLXAA3XfnazGHEfK378w3ZJj2B6I3U-W4pAUzgFJ0xwe5Wu_fcAzd49aq3rI7_H9M2_yCcarix3hde94CdUd-50Ftf2j4u_6da0nPmeRBQ3eGCF9gzxT42n4R_Q3lwc3FvJQ/s640/2017-07-10_7-01-32.bmp" width="640" /></a></div>
<br />
In my case I saw several IDs with a count of two, so this command gave me the information I needed. A more universal approach would be to filter the results to counts of two or above, which you can do with this:<br />
<br />
Get-ChildItem -recurse | Select-String '^id:' | Group Line | Where {$_.Count -gt 1}<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKAChYu9vScX7BQWteJ1PKdcgP28lqKps_iUT8uNU9U0D1Yvs_owx03Toe3Is2ElecNfJwYRmV5-h4ul5hNLzU5WLWsfYAZX5zFzsn5ZShHFWqEhaF2FwW9LYyaxiSvs8WJmWJuDEy8Co/s1600/2017-07-10_7-06-07.bmp" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyf-lEgrmYMwgSyReQvt9B-VkDfyuZhjwr3xw0L4IM2FDfhH8Mp1-v3ymhHv-r0ircPpeDmrjZS454plmWGw_cUWxV8tOlPPAJ8BJU_S5EpBQlU8uTlK_kb8zg-x3xI-O8yDFN38nAAys/s1600/2017-07-10_7-06-07.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="310" data-original-width="1450" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyf-lEgrmYMwgSyReQvt9B-VkDfyuZhjwr3xw0L4IM2FDfhH8Mp1-v3ymhHv-r0ircPpeDmrjZS454plmWGw_cUWxV8tOlPPAJ8BJU_S5EpBQlU8uTlK_kb8zg-x3xI-O8yDFN38nAAys/s640/2017-07-10_7-06-07.bmp" width="640" /></a></div>
<br />
Or with Powershell 3.0 and up, you can get rid of the curly braces:<br />
<br />
Get-ChildItem -recurse | Select-String '^id:' | Group Line | Where Count -gt 1<br />
<br />
Finally, I should mention that most of the commands above have shorter versions, which speed typing at the cost of legibility:<br />
<br />
<table><tbody>
<tr><td>Get-ChildItem</td><td>gci</td></tr>
<tr><td>Select-String</td><td>sls</td></tr>
<tr><td>Where</td><td>?</td><td></td></tr>
</tbody></table>
<br />
So the search could have been written as below:<br />
<br />
gci -recurse | sls '^id:' | group line | ? count -gt 1<br />
<br />
Finally, in addition to Format-Table, Format-List (which writes out each property of each object returned) and Format-Wide (which writes out a single property of each object, in a multi-column format) are useful as you do discovery of how your query is working. Finally, Out-GridView sends results to a window that allows sorting, filtering, and selecting columns.<br />
<br />
These articles were helpful as I figured out how to query with Powershell:<br />
<br />
<ul>
<li><a href="http://windowsitpro.com/powershell/exploring-powershells-group-object-cmdlet" target="_blank">Exploring PowerShell's Group-Object cmdlet</a></li>
<li><a href="http://windowsitpro.com/powershell/powershell-basics-sorting-measuring-objects" target="_blank">PowerShell Basics: Sorting and Measuring Objects</a></li>
</ul>
<div>
And to learn about FakeDB's Serialization feature:</div>
<div>
<ul>
<li><a href="https://github.com/sergeyshushlyapin/Sitecore.FakeDb/wiki/FakeDb-Serialization">FakeDB Wiki: FakeDb Serialization</a></li>
<li><a href="http://hermanussen.eu/sitecore/wordpress/2014/09/unit-testing-with-sitecore-fakedb-and-deserialized-data/">Knifecore: Unit testing with Sitecore.FakeDb and deserialized data</a></li>
</ul>
</div>
<br />
<br />
<br />Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-49052261288061504362017-04-22T10:09:00.001-04:002017-06-29T10:53:49.245-04:00Readable TestsThere's a great little <a href="https://www.safaribooksonline.com/library/view/growing-object-oriented-software/9780321574442/ch22.html">chapter</a> in <i>Growing Object Oriented Software Guided by Tests</i> on how to write helper methods for building complex test data. The specific techniques are somewhat less relevant in a post <a href="https://github.com/AutoFixture/AutoFixture">AutoFixture</a> world, but the chapter also makes a powerful case that test code should read as English prose.<br />
<a name='more'></a><br />
The chapter walks through a couple of refactor steps of some code to construct test data for logic working with orders, starting with something like (I'm somewhat summarizing and C#-ing the original Java examples):<br />
<br />
<pre>var order = new Order(
new Customer(
new Address(...</pre>
<br />
This code is extracted into a builder class like this:<br />
<br />
<pre>var order = OrderBuilder()
.fromCustomer(
new CustomerBuilder()
.withAddress(...</pre>
<br />
Then refactored to: <br />
<br />
<pre>var order = anOrder()
.fromCustomer(
aCustomer()
.withAddress(</pre>
<br />
And this builder is finally used in a helper method like this:<br />
<br />
<pre>havingReceived(anOrder()
.withLine("DearstalkerHat", 1)
.withLine("Tweed Cape", 1);
...
</pre>
<br />
Freeman and Pryce note:<br />
<blockquote class="tr_bq">
<i>We started with a test that looked procedural, extracted some of its behavior into builder objects, and ended up with a declarative description of what the feature does. We're nudging the test code towards the sort of language we could use when discussing the feature with someone else, even someone non-technical; we push everything else into supporting code. ... We use test data builders to reduce duplication and make the test code more expressive. It's another technique that reflects our obsession with the language of code, driven by the principle that code is there to be read.</i></blockquote>
I recently had a chance to put this into practice while working on a test of a Sitecore RenderField pipeline processor, to document required behavior for Experience Editor mode. I found a very helpful <a href="http://jockstothecore.com/how-to-test-automation/" target="_blank">post</a> by Dmitry Harnitski that documents how to create Editor mode with Sitecore.FakeDB, and verified that the syntax in the post worked, enabling me to create a failing test showing I had not yet implemented the Experience Editor logic. To get my test to pass, I just had to add a check on Experience Editor mode. (Red: Editor mode should suppress a behavior, and my test showed it didn't. Green: I added a check on IsInEditMode to the production code.) There was not a lot to do with the "Refactor" step in the production code, but in the test code, I refactored the code from the blog post:<br />
<br />
<pre>var fakeSiteContext = new Sitecore.FakeDb.Sites.FakeSiteContext(
new Sitecore.Collections.StringDictionary
{
{"enableWebEdit", "true"},
{"masterDatabase", "master"},
});
using (new Sitecore.Sites.SiteContextSwitcher(fakeSiteContext))
{
Sitecore.Context.Site.SetDisplayMode(DisplayMode.Edit, DisplayModeDuration.Remember);
...
</pre>
<br />
to:<br />
<br />
<pre>using(aSiteWithEditModeEnabled())
{
SwitchToEditMode();
</pre>
<br />
This is a small change, just gathering code into methods, but giving the methods names that make sense in the context of the test make the test much more expressive of its intent, and greatly raises the signal to noise ratio for anyone reading the test. "Code is there to be read."<br />
<br />Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-88381347357114867282017-01-02T01:23:00.000-05:002017-04-23T14:35:36.228-04:00First steps with SpecFlow and SeleniumI've always been a Unit Testing guy, but reading <a href="https://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627" target="_blank">Growing Object Oriented Software Guided by Tests </a>really brought home the role an acceptance test outer structure can play in an iterative development process. <br />
<a name='more'></a>The core of the book focuses on building an "auction sniper" (an automated bidding tool), and the very first step (a Sprint Zero task) is to set up an acceptance test harness that can simulate connecting to an auction and showing that the sniper lost. Just showing "Lost Auction" in a label is enough to get the test to pass, and then the rest of the book builds functionality up around that. This made a strong impression on me. My own practice has been to start the development process with controller tests, and not have anything that directly interacts with a browser; but this book got me wondering what a browser test exoskeleton would look like. Since I don't develop with Java and Swing, the tooling in Freeman & Pryce's book wasn't applicable, but SpecFlow (the C# Given/When/Then test generator) and the browser test tool Selenium seemed like a logical combination. Since I've been hacking a lot on the Sitecore Instance Manager recently, I thought this would be a logical place to try out some Selenium BDD (behavior driven development, the technical term for the Given/When/Then style). I've created a branch on my SIM fork called "<a href="https://github.com/dsolovay/Sitecore-Instance-Manager/tree/selenium-bdd" target="_blank">selenium-bdd</a>" where you can follow my progress. Since it's all NuGet driven, you should be able to install SpecFlow and try this out yourself.<br />
<div>
<br /></div>
<div>
To get started, you need to install the Visual Studio plugin "SpecFlow for VisualStudio 2015". I also added the NuGet package SpecRun.SpecFlow (or SpecFlow.NUnit, see update at bottom). With these tools in place, you will now be able to add "SpecFlow feature" files through the Add New Item right click option: </div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZQzvxlZ5ZZIQ2kRpO_CU7zjkBbCXi3bDoE4Qla9MibgOi1wTq-0Sp9N666wJycWrNQxSKlZ1QESZggbIQ1-6cKqR1g0EuG5lXUUfhz5yVKC4W7bfEa7e_IPpfgWv-7D8P3HKf70Kovo/s1600/2017-01-02_0-02-37.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="85" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh3ZQzvxlZ5ZZIQ2kRpO_CU7zjkBbCXi3bDoE4Qla9MibgOi1wTq-0Sp9N666wJycWrNQxSKlZ1QESZggbIQ1-6cKqR1g0EuG5lXUUfhz5yVKC4W7bfEa7e_IPpfgWv-7D8P3HKf70Kovo/s320/2017-01-02_0-02-37.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
This creates a file that allows you to specify a story, and a number of Given, When, Then statements to describe it precisely. The Given clauses give preconditions, the When clauses an action, and Then the expected result. You can have multiple clauses of each type, or use And or But, which is equivalent. Here is the Feature file I ended up with to describe the SIM "install" command:</div>
<div>
<br /></div>
<div>
<pre style="background: #1e1e1e; color: gainsboro; font-family: Consolas; font-size: 16;"><span style="color: #569cd6;">Feature</span>: SIM Command Line
<span style="font-style: italic;"> In order to work better with Sitecore
As a developer
I want a command line to work with Sitecore instances
</span>
<span style="color: #5f95fa; font-style: italic;">@SIMCMD
</span><span style="color: #569cd6;">Scenario</span>: Create instance
<span style="color: #569cd6;">Given </span>No Sitecore instance named '<span style="color: #646464; font-style: italic;">TestExample</span>' exists
<span style="color: #569cd6;">When </span>I create '<span style="color: #646464; font-style: italic;">TestExample</span>' with the command tool
<span style="color: #569cd6;">Then </span>I can navigate to '<span style="color: #646464; font-style: italic;">TestExample</span>'
<span style="color: #569cd6;">Then </span>I see the Sitecore Welcome page
<span style="color: #569cd6;">Then </span>Delete '<span style="color: #646464; font-style: italic;">TestExample</span>'
</pre>
</div>
<div>
<br /></div>
<div>
The header information listing the feature and the story is just documentation. The real action is with the Given/When/Then, which automatically generate a Feature.cs file that allows the Visual Studio test runner to treat this as a test. Incidentally, putting the word 'TestExample' in single quotes helped the tooling understand that this was a parameterized value. </div>
<div>
<br /></div>
<div>
The final piece of the puzzle is to create C# meanings for all of these rules. You can right click on the above file and select "Generate Step Definitions" which will bring up a little wizard to create these rules and write them to a C# file; these are called "rule bindings". (I will refer you to the SpecFlow Getting Started guide for this: <a href="http://specflow.org/getting-started/">http://specflow.org/getting-started/</a>) </div>
<div>
<br /></div>
<div>
There are a couple of nice details here. If you modify or add a rule (e.g change "Delete 'TestExample' to Remove 'TestExample'), it will show up in purple, indicating that the rule doesn't exist in the Rule Bindings cs file. In this case, you will probably want to "Copy Rule to clipboard", so that you don't overwrite the rule bindings you've already written. </div>
<div>
<br /></div>
<div>
The power of this technique is that you consolidate conditions like "Given a user has logged on" to a single place, allowing business users to read, and perhaps even write, the tests. If something changes, like the process of logging on, or the way to verify that an item is in a cart, you only need to make this change in one place, in the rule binding for the affected rule. This allows you to have a large number of tests with a finite and maintainable set of bindings. </div>
<div>
<br /></div>
<div>
Since this scenario involved checking the existence of a web page, I decided to use the SeleniumWebDriver to implement the bindings. Selenium can automate all the major browsers, but for my purposes Chrome was sufficient; this required also installing the Chromium.ChormeDriver NuGet package, which downloads the ChromeDriver.exe file. Selenium can be thought of as a shim layer that provides a consistent developer UI for all the browsers.</div>
<div>
<br /></div>
<div>
This is the bindings file I ended up with:</div>
<div>
<pre style="background: #1e1e1e; color: gainsboro; font-family: Consolas; font-size: 16;"><pre style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; font-family: Consolas;"><span style="color: #569cd6;">using</span> System;
<span style="color: #569cd6;">using</span> System<span style="color: #b4b4b4;">.</span>Diagnostics;
<span style="color: #569cd6;">using</span> System<span style="color: #b4b4b4;">.</span>Linq;
<span style="color: #569cd6;">using</span> Microsoft<span style="color: #b4b4b4;">.</span>VisualStudio<span style="color: #b4b4b4;">.</span>TestTools<span style="color: #b4b4b4;">.</span>UnitTesting;
<span style="color: #569cd6;">using</span> OpenQA<span style="color: #b4b4b4;">.</span>Selenium;
<span style="color: #569cd6;">using</span> OpenQA<span style="color: #b4b4b4;">.</span>Selenium<span style="color: #b4b4b4;">.</span>Chrome;
<span style="color: #569cd6;">using</span> TechTalk<span style="color: #b4b4b4;">.</span>SpecFlow;
<span style="color: #569cd6;">namespace</span> SIM<span style="color: #b4b4b4;">.</span>Specs
{
[<span style="color: #4ec9b0;">Binding</span>]
<span style="color: #569cd6;">public</span> <span style="color: #569cd6;">class</span> <span style="color: #4ec9b0;">CommandLineSteps</span>:<span style="color: #b8d7a3;">IDisposable</span>
{
<span style="color: #4ec9b0;">ChromeDriver</span> driver <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">new</span> <span style="color: #4ec9b0;">ChromeDriver</span>();
<span style="color: #569cd6;">public</span> <span style="color: #569cd6;">void</span> Dispose()
{
<span style="color: #569cd6;">if</span> (driver <span style="color: #b4b4b4;">!=</span> <span style="color: #569cd6;">null</span>)
{
driver<span style="color: #b4b4b4;">.</span>Dispose();
driver <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">null</span>;
}
}
[<span style="color: #4ec9b0;">Given</span>(<span style="color: #d69d85;">@"No Sitecore instance named '(.*)' exists"</span>)]
<span style="color: #569cd6;">public</span> <span style="color: #569cd6;">void</span> GivenNoSitecoreInstanceNamedExists(<span style="color: #569cd6;">string</span> siteName)
{
ThenDelete(siteName);
<span style="color: #4ec9b0;">Assert</span><span style="color: #b4b4b4;">.</span>IsFalse(SiteFound(siteName));
}
[<span style="color: #4ec9b0;">When</span>(<span style="color: #d69d85;">@"I create '(.*)' with the command tool"</span>)]
<span style="color: #569cd6;">public</span> <span style="color: #569cd6;">void</span> WhenICreateWithTheCommandTool(<span style="color: #569cd6;">string</span> siteName)
{
RunSimCommand(<span style="color: #d69d85;">$"install --name </span>{siteName}<span style="color: #d69d85;">"</span>);
}
[<span style="color: #4ec9b0;">Then</span>(<span style="color: #d69d85;">@"I can navigate to '(.*)'"</span>)]
<span style="color: #569cd6;">public</span> <span style="color: #569cd6;">void</span> ThenICanNavigateTo(<span style="color: #569cd6;">string</span> siteName)
{
<span style="color: #4ec9b0;">Assert</span><span style="color: #b4b4b4;">.</span>IsTrue(SiteFound(siteName));
}
[<span style="color: #4ec9b0;">Then</span>(<span style="color: #d69d85;">@"I see the Sitecore Welcome page"</span>)]
<span style="color: #569cd6;">public</span> <span style="color: #569cd6;">void</span> ThenISeeTheSitecoreWelcomePage()
{
<span style="color: #b8d7a3;">IWebElement</span> element <span style="color: #b4b4b4;">=</span> driver<span style="color: #b4b4b4;">.</span>FindElement(<span style="color: #4ec9b0;">By</span><span style="color: #b4b4b4;">.</span>TagName(<span style="color: #d69d85;">"h1"</span>));
<span style="color: #4ec9b0;">Assert</span><span style="color: #b4b4b4;">.</span>AreEqual(<span style="color: #d69d85;">"Sitecore Experience Platform"</span>, element<span style="color: #b4b4b4;">.</span>Text);
}
[<span style="color: #4ec9b0;">Then</span>(<span style="color: #d69d85;">@"Delete '(.*)'"</span>)]
<span style="color: #569cd6;">public</span> <span style="color: #569cd6;">void</span> ThenDelete(<span style="color: #569cd6;">string</span> siteName)
{
RunSimCommand(<span style="color: #d69d85;">$"delete --name </span>{siteName}<span style="color: #d69d85;">"</span>);
<span style="color: #4ec9b0;">Assert</span><span style="color: #b4b4b4;">.</span>IsFalse(SiteFound(siteName));
}
<span style="color: #9b9b9b;">#region</span> Private Methods
<span style="color: #569cd6;">private</span> <span style="color: #569cd6;">bool</span> SiteFound(<span style="color: #569cd6;">string</span> siteName)
{
driver<span style="color: #b4b4b4;">.</span>Navigate()<span style="color: #b4b4b4;">.</span>GoToUrl(<span style="color: #d69d85;">$"http://</span>{siteName}<span style="color: #d69d85;">/"</span>);
<span style="color: #569cd6;">bool</span> nameNotResolved <span style="color: #b4b4b4;">=</span> driver<span style="color: #b4b4b4;">.</span>PageSource<span style="color: #b4b4b4;">.</span>Contains(<span style="color: #d69d85;">"ERR_NAME_NOT_RESOLVED"</span>);
<span style="color: #57a64a;">// HACK There is a moment in the test execution where IIS handles the page not found, rather than chrome.</span>
<span style="color: #569cd6;">bool</span> iisPage <span style="color: #b4b4b4;">=</span> driver<span style="color: #b4b4b4;">.</span>FindElementsByTagName(<span style="color: #d69d85;">"a"</span>)<span style="color: #b4b4b4;">.</span>Any(
e <span style="color: #b4b4b4;">=></span> (e<span style="color: #b4b4b4;">.</span>GetAttribute(<span style="color: #d69d85;">"href"</span>) <span style="color: #b4b4b4;">??</span> <span style="color: #d69d85;">""</span>)<span style="color: #b4b4b4;">.</span>Contains(<span style="color: #d69d85;">"go.microsoft.com/fwlink"</span>));
<span style="color: #569cd6;">return</span> <span style="color: #b4b4b4;">!</span>nameNotResolved <span style="color: #b4b4b4;">&&</span> <span style="color: #b4b4b4;">!</span>iisPage;
}
<span style="color: #569cd6;">private</span> <span style="color: #569cd6;">static</span> <span style="color: #569cd6;">void</span> RunSimCommand(<span style="color: #569cd6;">string</span> arguments)
{
<span style="color: #4ec9b0;">Process</span> p <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">new</span> <span style="color: #4ec9b0;">Process</span>();
p<span style="color: #b4b4b4;">.</span>StartInfo<span style="color: #b4b4b4;">.</span>UseShellExecute <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">false</span>;
p<span style="color: #b4b4b4;">.</span>StartInfo<span style="color: #b4b4b4;">.</span>RedirectStandardOutput <span style="color: #b4b4b4;">=</span> <span style="color: #569cd6;">true</span>;
p<span style="color: #b4b4b4;">.</span>StartInfo<span style="color: #b4b4b4;">.</span>FileName <span style="color: #b4b4b4;">=</span> <span style="color: #d69d85;">$@"</span>{<span style="color: #4ec9b0;">Environment</span><span style="color: #b4b4b4;">.</span>CurrentDirectory}<span style="color: #d69d85;">\..\Sim.Client\bin\SIM.exe"</span>;
p<span style="color: #b4b4b4;">.</span>StartInfo<span style="color: #b4b4b4;">.</span>Arguments <span style="color: #b4b4b4;">=</span> arguments;
p<span style="color: #b4b4b4;">.</span>Start();
<span style="color: #569cd6;">string</span> output <span style="color: #b4b4b4;">=</span> p<span style="color: #b4b4b4;">.</span>StandardOutput<span style="color: #b4b4b4;">.</span>ReadToEnd();
p<span style="color: #b4b4b4;">.</span>WaitForExit();
p<span style="color: #b4b4b4;">.</span>Close();
<span style="color: #4ec9b0;">Console</span><span style="color: #b4b4b4;">.</span>WriteLine(<span style="color: #d69d85;">"Command output:"</span>);
<span style="color: #4ec9b0;">Console</span><span style="color: #b4b4b4;">.</span>WriteLine(output);
}
<span style="color: #9b9b9b;">#endregion</span>
}
}
</pre>
</pre>
</div>
<div>
As you see, I create a Driver object and make sure it is disposed in my Dispose method; omitting this step will leave a lot of ChromeDriver.exe processes locking your files, which I learned the hard way.</div>
<div>
<br /></div>
<div>
Next you see the auto-generated attributes and method names, which provide the implementation for each rule. These are pretty straight forward. The only points worth noting are:</div>
<div>
<ul>
<li>The actual navigation happens in the "SiteFound" method. (I'm losing some Command Query Separation karma here: clearly this is a query, but it also has a side effect. Something to refactor....)</li>
<li>To check if a site is found, I look for Chrome's "ERR_NAME_NOT_RESOLVED" message (there is no status code to capture because without a DNS entry chrome can't send a request). There is a brief moment in the test where it hits the IIS Home page, which I identify with the truly horrendous hack of looking for the go.microsoft.com link. </li>
<li>I chose to run the SIM commands through a command line shell, rather that directly through the SIM command classes, to better capture the full end-to-end nature of the action. Imagine if a parameter property was not properly bound to the command line; a test that did not directly call the command would miss that. Plus this way the tests document the command syntax.</li>
<ul>
<li>I just had an idea. I could have the command syntax in the WHEN clause: <i>WHEN I pass 'install -name TestInstance' to SIM</i>. That would surface the command syntax directly into the acceptance test. I like that.</li>
</ul>
<li>To check that the site is truly loaded, I use Selenium magic to read a H1 tag's value. This was starting to really feel like the examples in Freeman & Pryce's book. </li>
</ul>
<div>
A few additional things to note. I ran this through Visual Studio's Test runner, which is a premium feature. "SpecFlow" is free, but "SpecFlow+" is 159 GBP. Not cheap, and I haven't purchased it. They currently add a six-second delay, and ask you to pay for the product. I saw no indication that the evaluation period is limited, but still want to explore other ways of running these tests. I'll update this post (Done!) if I find any reasonable alternatives; of course, suggestions in the comments are welcome. To be clear, the tooling to create the tests is free, just the feature to run the tests through Visual Studio's test runner is (theoretically) not free.<br />
<br /></div>
</div>
<div>
Second, these tests generate a number of outputs:</div>
<div>
<br /></div>
<div>
The Test Explorer view:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWEgkIkQCsf6gP0BwdJRR6bDyYVWnlixqOqdJEIaV_ncq0XVNJQyDc5aPPiJ6-HIevS381Tya4Rbboz2KC3C1lE_m62NkX0jjNxIW8XwEn8F0YnNeavt_0vW5KkXe1JzOt8Hv3A9mtSqE/s1600/2017-01-02_1-03-51.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWEgkIkQCsf6gP0BwdJRR6bDyYVWnlixqOqdJEIaV_ncq0XVNJQyDc5aPPiJ6-HIevS381Tya4Rbboz2KC3C1lE_m62NkX0jjNxIW8XwEn8F0YnNeavt_0vW5KkXe1JzOt8Hv3A9mtSqE/s320/2017-01-02_1-03-51.jpg" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
The "Output" view (which you get to from a link from the above view, not to be confused with Visual Studio's normal output window:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwaKn61Q_9SZOFckN0zJ2jsko67dnCNjLlJ8YiE39ts8w83ztMQ5ZGLxQ6zR1qsZSi0OaahIL0S8aNUpvsQ46wVrSvMP4cJqjNquMF4KfJuaLoFJy0jqiWTlJNqzIFov4ZeRj1hAiirhc/s1600/2017-01-02_1-04-29.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="520" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwaKn61Q_9SZOFckN0zJ2jsko67dnCNjLlJ8YiE39ts8w83ztMQ5ZGLxQ6zR1qsZSi0OaahIL0S8aNUpvsQ46wVrSvMP4cJqjNquMF4KfJuaLoFJy0jqiWTlJNqzIFov4ZeRj1hAiirhc/s640/2017-01-02_1-04-29.jpg" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
The Visual Studio Output window, important because it shows links to the HTML and Log reports:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAMeR1UIoQu8590OlkFEbxy6JoTo06fsyhW0K9l-WOCTQZwMtgXE1nA7895o75PuiISsWxwBVZBiOzmywVcgdgEy3TWcfRkAb3a-vq2d7u-YxPa-yFJQQB_AxCEJSHprtispG2K4HH5YA/s1600/2017-01-02_1-05-20.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjAMeR1UIoQu8590OlkFEbxy6JoTo06fsyhW0K9l-WOCTQZwMtgXE1nA7895o75PuiISsWxwBVZBiOzmywVcgdgEy3TWcfRkAb3a-vq2d7u-YxPa-yFJQQB_AxCEJSHprtispG2K4HH5YA/s640/2017-01-02_1-05-20.jpg" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
An HTML report (stamped with "This is an evaluation copy" verbiage in red):</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivRQJqBMUAQWhF-PSttPxubf69iFrLykiJZ40MnCqW_XDcr5fpeSomZecHG3R7zBB0E11Ai-x9Hh-4zkbvt02CbXynyzp0rnFVi0VwuyOJojgiAu0QMzR91GykOhKwghZz2Y9FHHAUsMw/s1600/2017-01-02_1-06-11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="348" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivRQJqBMUAQWhF-PSttPxubf69iFrLykiJZ40MnCqW_XDcr5fpeSomZecHG3R7zBB0E11Ai-x9Hh-4zkbvt02CbXynyzp0rnFVi0VwuyOJojgiAu0QMzR91GykOhKwghZz2Y9FHHAUsMw/s640/2017-01-02_1-06-11.jpg" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
A log file:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNYMM0AQDKKa-gHZLDwz72XR3V1-_ud-MPNPfzshAGDVM3kmRbeG1DODuxXHRNvCeZORxNNf9dO6T3tw5RF7IhMBS3iRxJwaieoa-d1AK0kwCiPwbwy51xsszHuXJH9Jirf4zbAWa4w3A/s1600/2017-01-02_1-07-10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNYMM0AQDKKa-gHZLDwz72XR3V1-_ud-MPNPfzshAGDVM3kmRbeG1DODuxXHRNvCeZORxNNf9dO6T3tw5RF7IhMBS3iRxJwaieoa-d1AK0kwCiPwbwy51xsszHuXJH9Jirf4zbAWa4w3A/s640/2017-01-02_1-07-10.jpg" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
It seems clear to me that the HTML output, combined with a Continuous Integration deployment process, could provide a detailed bench mark of what features have been implemented, and which have not, giving "burn-down" like visibility into a team's progress. This seems pretty powerful to me.<br />
<div style="-webkit-text-stroke-width: 0px; color: black; font-family: "Times New Roman"; font-size: medium; font-style: normal; font-variant-caps: normal; font-variant-ligatures: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
</div>
<br />
<div>
<b>Update</b>: To run the tests through a test runner like NCrunch, instead of installing the package "SpecRun.SpecFlow", use the package SpecFlow.NUnit or SpecFlow.xUnit. This changes the auto-generated CS code-behind for the .feature file, so that they are now visible to a normal NUnit (or xUnit) test runner. The only difference is that you don't get the above reports, and you can no longer put breakpoints directly in your .feature file. However, the Console output of the test has the Given/When/Then steps and the time duration of each, so should work. Here is the output, for example, from Reshaper's test runner:</div>
<br />
<div class="separator" style="clear: both; color: black; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit9d0dPW0NRE5Zs1XWEudOqAfEbycpnGRlNGgQBOucjIAy-xp_2AVA8sdbcnpX0SinLzpp3P_6vso8kTGLk8xe9BYVMErjR9zJ5wcD3mk3vyPLvfiw_a3N7PwYKc6n929VN2JVl3ctcZw/s1600/2017-01-02_14-06-55.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="270" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit9d0dPW0NRE5Zs1XWEudOqAfEbycpnGRlNGgQBOucjIAy-xp_2AVA8sdbcnpX0SinLzpp3P_6vso8kTGLk8xe9BYVMErjR9zJ5wcD3mk3vyPLvfiw_a3N7PwYKc6n929VN2JVl3ctcZw/s640/2017-01-02_14-06-55.jpg" width="640" /></a></div>
<div style="color: black; margin: 0px;">
<br /></div>
</div>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com1tag:blogger.com,1999:blog-5589343447323430312.post-43828380604085362652016-11-09T06:00:00.000-05:002016-11-09T06:00:10.266-05:00Zapping Solr Cores with PowershellImagine you've been working on a feature that creates Sitecore Solr indexes with SIM. Three's a lot of testing that goes into that. <br />
<a name='more'></a>Suppose I tweak this? Does it still work? And each go round creates another 15 indexes. You end up with a lot of indexes named "test1a_sitecore_core_index, test1a_sitecore_master_index" and so forth. I think I was up above 200 of these at some point. SIM has a bulk delete feature but it doesn't (<a href="https://github.com/dsolovay/Sitecore-Instance-Manager/issues/40" target="_blank">yet</a>) support deleting Solr indexes, so I did a little googling into Powershell to see if I could whip up a script to do some house cleaning (True confession, I waited until Solr was DYING.). Here's what I came up with:<br />
<br />
<script src="https://gist.github.com/dsolovay/663c5dcaf7df49754b3b29a1d9aa3db3.js"></script><br />
<br />
Here's what the script does. <br />
<br />
<ul>
<li>Loads a required parameter "-prefix". This is useful since SIM creates Solr cores with the instance name of the site.</li>
<li>Creates an instance of the WebClient class, which we will use to communicate to the Solr API.</li>
<li>Loads the results of "/solr/admin/cores" to an XmlDocument object. The [xml] prefix causes the string return value to be loaded to an XmlDocument instance.</li>
<li><br /></li>
</ul>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-90297696605178481222016-11-02T06:00:00.000-04:002016-11-02T06:00:29.724-04:00Disposing of a DLLSo I've been working on a feature for Sitecore Instance Manager to automate installing Sitecore instances with Solr turned on. This has been <a href="https://github.com/Sitecore/Sitecore-Instance-Manager/pull/94" target="_blank">pulled </a>in to the Develop branch of SIM and should hopefully hit the downloadable version soon.<br />
<br />
<a name='more'></a>One interesting detail was how to handle the "Generate Solr Schema" step. This is normally done through the Sitecore Control Panel, and is responsible for updating the Solr schema.xml file to include definition of fields like "_uniqueid" and "__bucketable" that are required for Sitecore. To automate this step, I considered analyzing the changes and writing a script to apply them, or even copying a prebaked "schema.xml" to the Solr instance directory, but this didn't feel ideal. Suppose a new version of Sitecore introduces a new Solr field (let's say "__basketable"...). My feature would be instantly obsoleted. Bummer.<br />
<br />
It would be far better to use the actual code that is run by this option, and with a little digging, I was able to find the C# class that does the transformation, Sitecore.ContentSearch.ProviderSupport.Solr.SchemaGenerator, in the Sitecore.ContentSearch.dll. What if directly loaded that from the bin directory of the new instance? That worked nicely.<br />
<br />
<script src="https://gist.github.com/dsolovay/906d87197c95fa91e504fddefa7369db.js"></script><br />
<br />
The DLL path is passed in, because that depends on the instance, and the path to the schema is pulled from the Solr API. I ended up refactoring the bits that load the DLL to an existing ReflectionUtil class:<br />
<br />
<script src="https://gist.github.com/dsolovay/67c3be8119d94c34d958523c9a66523f.js"></script><br />
<br />
This worked really nicely until I tried to clean up some of the sites created during my testing, and got this error:<br />
<br />
<img src="https://cloud.githubusercontent.com/assets/689532/19422940/3dd71ea8-93e9-11e6-9e7f-d6accc177d0e.png" /><br />
<br />
Of course! I loaded the DLL from that site's bin directory to the SIM process, so now I can't delete the file. I did some googling of whether you can dispose of a DLL once you've loaded it, and long story short, you can't. Alen Pelin <a href="https://github.com/dsolovay/Sitecore-Instance-Manager/issues/39#issuecomment-254094459" target="_blank">suggested </a>I load the DLL from a memory stream, but that sounded complicated (= had no idea how to do this) so I did some more googling of disposing of DLLs and found discussion of AppDomains. These seemed to be designed expressly for this purpose--the DLL is not disposable, but the app domain it is loaded to is. Cool. However, the <a href="https://msdn.microsoft.com/en-us/library/6s0z09xw(v=vs.110).aspx" target="_blank">documentation </a>on MSDN looked pretty light, as did the Stack Overflow coverage, so it didn't look like a technique in heavy rotation. But what the hey, let's give it a try:<br />
<br />
<script src="https://gist.github.com/dsolovay/c14dfbb0e204bac968c3dd268aa1614c.js"></script><br />
<br />
So that blew up because GenerateSolrSchema does not implement Serializable:<br />
<br />
<img src="https://cloud.githubusercontent.com/assets/689532/19838503/e8afb4c6-9ea6-11e6-872b-ab759709e70b.png" /><br />
<br />
Okay, time to take another look at Alen's suggestion. It turns out that Assembly.Load can take a Stream parameter, so fixing this was as simple as adding FileStream.ReadOpen(path), and passing the results to AssemblyLoad (<a href="http://stackoverflow.com/a/20080196/402949" target="_blank">thanks </a>to this Stack Overflow answer too). Load the steam in a Using block and you're all set:<br />
<br />
<script src="https://gist.github.com/dsolovay/10a26e99b232d8d8aa4bae53bb7389d2.js"></script><br />
<br />
Now you can create and delete Sitecore+Solr instances all day long!<br />
<br />
As I mentioned at the top, this is not yet in the main branch of SIM, but you can play with it by building the Develop branch of <a href="https://github.com/sitecore/sitecore-instance-manager">https://github.com/sitecore/sitecore-instance-manager</a>, and you can check out this feature intro video: <br />
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/9BjQ6CpnzUg" width="560"></iframe><br />
<br />Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-61341218487711319352016-10-26T06:00:00.000-04:002016-10-26T06:00:06.463-04:00NCrunchIf you want to make unit testing and TDD truly addictive, you should look at NCrunch, which basically gives you while-you-type intellisense for unit tests.<br />
<br />
<a name='more'></a>In fact, I have had the odd experience of building large chunks of functionality with tests and main line code, and then not see them work in my browser, because I forgot to save and compile. (F6 fixed that quickly). What NCrunch does is squirrel your unsaved files to a folder in AppData, and run them there while you type out code. Getting that level of continuous instant feedback really changes the way you write code. For example:<br />
<br />
<ul>
<li>You get used to seeing green dots on the left. Their absence makes you feel a little skittish (don't refactor this! who knows what will break). And the motivation to get stuff green becomes very strong (let see if calling this works.. isolate, isolate, there, it's green!)</li>
<li>You become creative about breaking things. Earlier today I was working with code that generated user names from a first and last name column, and I had to add a bit of additional logic. I wanted to see if the current logic was covered meaningfully by tests, so I changed:<br /><br /><span style="font-family: "courier new" , "courier" , monospace;">userName = firstName + lastName</span>; to <br /><span style="font-family: "courier new" , "courier" , monospace;">userName = firstName<b>;//</b>+lastName; </span><br /><br />just to see if anything would happen. Red lights a second later (semicolon, whack, whack, red, just like that) showed me that the current logic was covered, taking me to the test I needed to modify. Friction free.</li>
<li>Being able to jump from code to covering tests with a right click equally removes the friction of adding tests, since you can see at a glance what is already in place.</li>
<li>If a single test is failing, the red dots provide a beadcrumb trail through the executing code. This often leads to very rapid troubleshooting, since you can see at a glance whether, for example, an if block is being entered. Exceptions are called out with a red X, again making it a lot faster to pin down where code is failing.</li>
<li>The ability to tactically ignore tests can be useful when trying to fix a number of failures. Recently, in a code review session, we reviewed 12 tests that were failing. We ignored 11 of them, so that our red dots were meaningful (they corresponded to a single test). Then we analyzed the code under tests, and realized what was wrong with the test. A few keystrokes to change the test, and we had green. Then we unignored the other 11 tests, and they went green as well</li>
</ul>
<div>
I recently did a deep dive through the documentation, and learned there was a lot more to the tool than I had realized.</div>
<div>
<ul>
<li>You can set up grids of workstations, and run unit tests on this grid. I cajoled two of my neighbors at work to turn this feature on, and now my unit tests are divided up and run where CPU cycles are available. We are still experimenting with this feature, but it looks very promising. Running unit tests for your team while you eat lunch down the street sounds pretty effective. http://www.ncrunch.net/documentation/guides_distributed-processing</li>
<li>There is a command line tool that can be used on CI servers, that produces very nice HTML test and code coverage reports.</li>
<li>The test engine does analysis of which tests are most likely to be impacted by recent code changes, and runs those tests first.</li>
<li>There are a number of syntax options for managing concurrency of integration tests (each thread runs in its own process, so there is no issue with static methods and values). You can specify that a given test requires exclusive or inclusive access to a resource, such as a file on disk, a database, etc.</li>
</ul>
<div>
In short, there is a lot to this tool. The CI and distributed capabilities look very promising indeed. This website is <a href="http://ncrunch.net/">NCrunch.net</a>. And to give a feeling for the rhythm of feedback, here's a short example of NCrunch responding to a line of code being commented out:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlmiFDlAQSfm0O8VGJan3VxoOUiJxp6ZwH5m3ejI93X27upSLqQp15aTP3JSYD5eCvN6J288Abq9eydclCmZ7M90Qa0CixWBc1SY-BiJ7R1ZTRldHaHDA9sixAr-MJvBoccSZ1oZaL0jo/s1600/NCrunch.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="307" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlmiFDlAQSfm0O8VGJan3VxoOUiJxp6ZwH5m3ejI93X27upSLqQp15aTP3JSYD5eCvN6J288Abq9eydclCmZ7M90Qa0CixWBc1SY-BiJ7R1ZTRldHaHDA9sixAr-MJvBoccSZ1oZaL0jo/s640/NCrunch.gif" width="640" /></a></div>
<br /></div>
</div>
<div>
<br /></div>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-84679718669302766572016-09-15T19:21:00.000-04:002016-09-15T19:21:48.994-04:00Another Look at Sitecore and Unit TestingAt Sitecore Symposium 2016, I will be giving a <a href="http://www.sitecore.net/events/sitecore-symposium-2016/developer-track.aspx">talk</a> on unit testing in Sitecore. The focus of this talk is on the notion of testability. <br />
<a name='more'></a>Picking up on the notion of <b>seams</b> (from Michael Feathers <a href="https://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052">Working Effectively with Legacy Code</a>, but I came upon this in Roy Osherove's <a href="https://www.amazon.com/Art-Unit-Testing-examples/dp/1617290890">The Arto of Unit Testing</a>), I look at how MVC introduced seams between controller code and implementation, and look the Glass Mapper can be used to introduce seams into Sitecore code. I then look at 8.2, and show how its introduction of virtual methods and abstract classes allows for testability with Sitecore code much as MVC did for ASP.NET. The presentation also introduces a number of tools that can remove the friction from test driven development, such as ReSharper, NCrunch, AutoFixture, and Fluent Assertions.<br />
<br />
I will post a link to a recording of this talk when it becomes available.<br />
<br />
<div>
<b>Code Samples</b><br />
<a href="https://github.com/dsolovay/mvc-testability/">https://github.com/dsolovay/mvc-testability/</a><br />
<a href="https://github.com/dsolovay/item-creation-demos">https://github.com/dsolovay/item-creation-demos</a><br />
<a href="https://github.com/dsolovay/habitat-testability">https://github.com/dsolovay/habitat-testability</a><br />
<br />
<h4>
My AutoSitecore project (8.2 Testing accelerator)</h4>
<a href="https://github.com/dsolovay/AutoSitecore">https://github.com/dsolovay/AutoSitecore</a><br />
<br />
Also on NuGet.<br />
<br />
Also check out my talk from SUGCON NA 2015. Video and related links <a href="http://www.dansolovay.com/2015/09/test-driven-sitecore-links.html">here</a>.<br />
<br />
<br /></div>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com1tag:blogger.com,1999:blog-5589343447323430312.post-51584321659129395562016-06-14T23:16:00.002-04:002016-06-14T23:16:33.297-04:00Debugging and Creating PDBs with ReSharperBeing able to debug Sitecore code is an important skill for supporting Sitecore solutions. There have been a number of excellent articles on how to do this, but they typically describe using JetBrains DotPeek product as a "symbol server". (See <a href="http://bilyukov.com/debugging-sitecore-dotpeek/,">http://bilyukov.com/debugging-sitecore-dotpeek/,</a> and <a href="https://jammykam.wordpress.com/2015/01/11/how-to-debug-sitecore-kernel-in-visual/">https://jammykam.wordpress.com/2015/01/11/how-to-debug-sitecore-kernel-in-visual/</a>). An alternative, which I find somewhat simpler, is to use ReSharper to generate PDB files, and place those in your solution bin directory. I will walk you through that approach in this article.<br />
<br />
<a name='more'></a><br /><br />
This article assumes you have JetBrain's ReSharper installed. It may be possible to these steps purely with the free DotPeek, but I'm not sure how the Debugging experience will work without access to decompiled sources in Visual Studio. (I may come back to that in a later post.)<br />
<br />
Let's try to set a breakpoint in the BeginRequest pipeline. This example uses a Visual Studio solution set up outside the web root (as described in this <a href="https://www.youtube.com/watch?v=cskz2oZYCYs">video</a>), but the process should work similarly if the project is inside the web root.<br />
<br />
First, you need to enable decompiling of third party sources. This can be done by checking the following box in the ReSharper options: <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx0TlMGrzL7mRVtNsFNGdVMj62CNWmhyrt_Beh8bDMJLgtZ5v6TpjQ_whbYAzWeZr-eaD16YNIsxwVh6KEexNRx-YUvaE5vyjNlAFSDMIHzTVV77yEcRYp2OOb4aJKN0Y5J7HrkS1f4C0/s1600/2016-06-14_21-46-37.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjx0TlMGrzL7mRVtNsFNGdVMj62CNWmhyrt_Beh8bDMJLgtZ5v6TpjQ_whbYAzWeZr-eaD16YNIsxwVh6KEexNRx-YUvaE5vyjNlAFSDMIHzTVV77yEcRYp2OOb4aJKN0Y5J7HrkS1f4C0/s640/2016-06-14_21-46-37.png" width="640" /></a></div>
<br />
With this enabled, you will be able to navigate to internal methods in Sitecore DLLs that you reference in your project. Let's assume you have a reference to Sitecore.Kernell.dll, you will be able to type Control-T to find methods. Note that your shortcut might be different: You can find yours at ReSharper/Navigate/Go To Everything:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI9whxZV2jnJk7wkDyB-rH6gwiQocmTufF1YFBPkOHwAR7Gdsyf0ymBn4VICeDdRENsYhM6AM1l9NdGVeQlgWEEK9BYLJ6ryZPXz9qrGe8lma_u5EY312RNifH0m_F8kRG9c5Cu-w2d-k/s1600/2016-06-14_21-50-29.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="516" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI9whxZV2jnJk7wkDyB-rH6gwiQocmTufF1YFBPkOHwAR7Gdsyf0ymBn4VICeDdRENsYhM6AM1l9NdGVeQlgWEEK9BYLJ6ryZPXz9qrGe8lma_u5EY312RNifH0m_F8kRG9c5Cu-w2d-k/s640/2016-06-14_21-50-29.png" width="640" /></a></div>
<br />
This will pull up this navigation tool.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMdgWwrkBOCCkB7nogmgxwAdyq6K1yeqyuX0PYjHQgOHzQhuwvwkGeYlm4CDCLqbJWTPX73FEVhk49VYqIs1Jeds_Wz9mR2aonFUbxq_e2aQYjXSvjfvSRX8jBU31aaBlsJK7mwX92WN8/s1600/2016-06-14_23-07-08.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMdgWwrkBOCCkB7nogmgxwAdyq6K1yeqyuX0PYjHQgOHzQhuwvwkGeYlm4CDCLqbJWTPX73FEVhk49VYqIs1Jeds_Wz9mR2aonFUbxq_e2aQYjXSvjfvSRX8jBU31aaBlsJK7mwX92WN8/s640/2016-06-14_23-07-08.png" width="640" /></a></div>
<br />
<br />
Click "Include Library Sources", and type "ItemResolver". If you are the first time doing this, you will need to acknowledge a legal warning from ReSharper that you are viewing proprietary code. (Standard disclaimer: I'm not a lawyer and I don't work for Sitecore, but I've long viewed reading Sitecore code to be a key part of a Sitecore developer's toolset. If you have concerns, ask your Sitecore Regional Representative whether your license permits you to do this.)<br />
<br />
Okay, at this point you will see the ItemResolver class. Go down to the Process method, and put a breakpoint on the first line.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdAoKklU4DtSeEdahUhgDwvup4t3Eg6pTRLWfFkxVbWxz6480a5W0MZNVraUXZeYiqpslhcYt76lvbE06Oz3S79lGWMaMp7VhaVeIs0Q7EP1gLfw597Ga9p7KD-nBZ6oLDNZ0I1JY1hLw/s1600/2016-06-14_22-05-28.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdAoKklU4DtSeEdahUhgDwvup4t3Eg6pTRLWfFkxVbWxz6480a5W0MZNVraUXZeYiqpslhcYt76lvbE06Oz3S79lGWMaMp7VhaVeIs0Q7EP1gLfw597Ga9p7KD-nBZ6oLDNZ0I1JY1hLw/s1600/2016-06-14_22-05-28.png" /></a></div>
<br />
Now attach to the w3wp.exe worker process. (See <a href="http://stackoverflow.com/a/36203091/402949">http://stackoverflow.com/a/36203091/402949</a>) Now, you will see the breakpoint will have a white center and error icon, and if you mouse over it you will see this tooltip warning, indicating that symbols have not been loaded for this location:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq3TK4cfMXaFFRm_sfw07hdAaPz3QQTAS5hbacgSD-tTdSXZyk6DV8OVXg0Qb5Fk9IEVmLlwbY6zuE-6hNygjXq3G88mfF9_ORvnQAcVadc-4jKRAPbGaC8dLMYUiyYpGCjsTZciisNSM/s1600/2016-06-14_22-09-47.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="94" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiq3TK4cfMXaFFRm_sfw07hdAaPz3QQTAS5hbacgSD-tTdSXZyk6DV8OVXg0Qb5Fk9IEVmLlwbY6zuE-6hNygjXq3G88mfF9_ORvnQAcVadc-4jKRAPbGaC8dLMYUiyYpGCjsTZciisNSM/s640/2016-06-14_22-09-47.png" width="640" /></a></div>
<br />
To add the symbols, go to ReSharper/Windows/Assembly Explorer, and click the Open icon to add the Sitecore.Kernell.dll to the window.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0iuMHUhoBDiJ7eysLcPPQd43jc0Pn8hJoJ_r1EYmudoTDRuyiKt0f7nixY8bZjmV8woY1qKTRsvJCcn-0qO-A6VphcFYAq-TAznRcmJnQzgPGaY4ePybbZ-OC4iNZfn-jvQQDyBwBuY/s1600/2016-06-14_22-15-58.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="306" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEha0iuMHUhoBDiJ7eysLcPPQd43jc0Pn8hJoJ_r1EYmudoTDRuyiKt0f7nixY8bZjmV8woY1qKTRsvJCcn-0qO-A6VphcFYAq-TAznRcmJnQzgPGaY4ePybbZ-OC4iNZfn-jvQQDyBwBuY/s320/2016-06-14_22-15-58.png" width="320" /></a></div>
<br />
Now right click and select Generate PDBs.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg_nNH2UeS-omZIMzqHZyhtaW0Fzgdy8qLj_PCzQVWKKYjklWUwH9dayA-Gbx9fW5EPy14wZRX4fB49uO4IVUQ7JtuZ6nSn9AFpGJONAZf0JZ8AHxXD2NOAZCOwL8mtFkNmLU_Q0VvQZs/s1600/2016-06-14_22-16-37.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="293" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjg_nNH2UeS-omZIMzqHZyhtaW0Fzgdy8qLj_PCzQVWKKYjklWUwH9dayA-Gbx9fW5EPy14wZRX4fB49uO4IVUQ7JtuZ6nSn9AFpGJONAZf0JZ8AHxXD2NOAZCOwL8mtFkNmLU_Q0VvQZs/s320/2016-06-14_22-16-37.png" width="320" /></a></div>
<br />
<br />
You can select any location for them; the key thing is that you need to copy the finished PDB and put it next to the corresponding DLL that is being used to serve the website (i.e not the local copy in your Libraries folder or project bin if that is separate from your web root.) <br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbACwxsKy7YeOA4-IuSV7QOUFZX2Mt5HoUotoA98dn2_ywkHJJRrnLFS0ZuAjPcZf7MBQSRVODBcUigkVYnSXz0ueD2bMDTQ7LvB9kiL__lhrE8vzc6qDiQSn2hucqwQjn88xvantWWvA/s1600/2016-06-14_22-18-07.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgbACwxsKy7YeOA4-IuSV7QOUFZX2Mt5HoUotoA98dn2_ywkHJJRrnLFS0ZuAjPcZf7MBQSRVODBcUigkVYnSXz0ueD2bMDTQ7LvB9kiL__lhrE8vzc6qDiQSn2hucqwQjn88xvantWWvA/s320/2016-06-14_22-18-07.png" width="300" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"><tbody>
<tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCi_tbd9ErbXiM64HIBpeETaGVw8q0ClZr6mOkFmwg3iBQ4xif-9Xc1NGBB5iPyHzm4h3te49OZR7xxQouTNtWmr1WAe0tYnA3NWCkhs9v9WZdrszVv4upbkzzigq8j_1NHziT6Wd1nQ/s1600/2016-06-14_22-22-29.png" imageanchor="1" style="margin-left: auto; margin-right: auto;"><img border="0" height="72" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNCi_tbd9ErbXiM64HIBpeETaGVw8q0ClZr6mOkFmwg3iBQ4xif-9Xc1NGBB5iPyHzm4h3te49OZR7xxQouTNtWmr1WAe0tYnA3NWCkhs9v9WZdrszVv4upbkzzigq8j_1NHziT6Wd1nQ/s640/2016-06-14_22-22-29.png" width="640" /></a></td></tr>
<tr><td class="tr-caption" style="text-align: center;">Inside the webroot bin</td></tr>
</tbody></table>
<br />
Note that ReSharper will create a folder called Sitecore.Kernel.pdb. You don't want that; inside of it is a folder with a Guid name, and inside that is the PDB. Copy that to your webroot bin directory:<br />
<br />
Now retry the debug session. This time your break point will get hit. The screen shot below shows you can mouse over and inspect the "args" parameter:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYFGNKJ2F7CyJZkXjod7Q-BECN5kZeBiSEygiHdgbf6JcMBXVz94idY2Fa2ZGlRNLLLAQlvbThQgs5LBmB9km9wvYDi9Ol7_I3EVK7ROhwwssGO7SC3yqXpiAeQdENwEP6P75VIf68NsI/s1600/2016-06-14_22-28-00.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="252" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYFGNKJ2F7CyJZkXjod7Q-BECN5kZeBiSEygiHdgbf6JcMBXVz94idY2Fa2ZGlRNLLLAQlvbThQgs5LBmB9km9wvYDi9Ol7_I3EVK7ROhwwssGO7SC3yqXpiAeQdENwEP6P75VIf68NsI/s640/2016-06-14_22-28-00.png" width="640" /></a></div>
<br />
A couple of additional notes:<br />
<br />
<ul>
<li>The first time I reissued the request, the browser tab hung. I closed the tab and submitted the request again, and it worked fine.</li>
<li>There is a Visual Studio Debug option "Enable Just My Code". I usually have this unchecked, but in my experimenting the above breakpoint got hit either way.</li>
<li>I have not had do any of the steps described by Jammy Kam to get meaningful local variables to appear (such as the args parameter above). However a few local variables do get optimized away, and the steps described in Jammy Kam's article did not work for me on my most recent attempts. This has not been a blocker for me, as most variables are visible.. If you want to dig deeper here, read Jammy's post (link at top of article) and this one (<a href="http://blog.paulgeorge.co.uk/2016/02/05/disabling-optimizations-debugging-third-party-dlls-with-reflector-pro">http://blog.paulgeorge.co.uk/2016/02/05/disabling-optimizations-debugging-third-party-dlls-with-reflector-pro</a>/).</li>
<li>ReSharper really gives you the keys to the kingdom of how Sitecore is put together. I blogged awhile ago about things you can do with it to. (http://www.dansolovay.com/2013/01/resharper-shortcuts-every-sitecore.html)</li>
</ul>
<div>
Happy spelunking!</div>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-48836121801568104922016-01-13T06:00:00.000-05:002016-01-13T06:00:06.404-05:00The Pomodoro TechniqueThere is a special, lonely dread that accompanies a big, complex task. Am I up to it? Is it harder than I think? Am I missing something fundamental? I wonder what's going on on Twitter. Hey, I got retweeted...<br />
<br />
<a name='more'></a>Nope. That's not going to work. There must be a better way to manage the angst of impeding deliverables. And there is. <br />
<br />
<h4>
Meet the Pomodoro Technique </h4>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3IdIp35dyXAN_OdUGYHk1ipXS8yIhsH3qFQu0LRhw0CjLxZPIEYYSlawfR7-KwgAovMqrj9SjFHg946s5UDzlr4gmQrVmEhli47Riv8IHi30bUMIPdmQJrrb6JasWue5Z1VT1FkLlyCo/s1600/Timer.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg3IdIp35dyXAN_OdUGYHk1ipXS8yIhsH3qFQu0LRhw0CjLxZPIEYYSlawfR7-KwgAovMqrj9SjFHg946s5UDzlr4gmQrVmEhli47Riv8IHi30bUMIPdmQJrrb6JasWue5Z1VT1FkLlyCo/s320/Timer.jpg" width="320" /></a></div>
<br />
Pomodoro is Italian for tomato, and the technique gets its name from a kitchen timer much like the one pictured above. Francesco Cirillo, a student frustrated at his inability to stay focused on a task, set himself the challenge of seeing if he could remain undistracted for 10 solid minutes. His eye fell upon a kitchen timer shaped like a tomato, and the Pomodoro was born. According to his account, it took quite some time before he was able to take it through to the whole ten minutes. When he was finally able to do that, he started increasing the time, and eventually settled on a rhythm of 30 minutes: 25 minutes of focus, 5 minutes of recharging. (He has apparently mastered the technique of the five minute nap...)<br />
<br />
I started using this technique a couple of years back, largely as a way of managing interruptions. "I've got 15 minutes left in my Pomodoro, can I get back to you then?" I used the website <a href="http://tomatoi.st/">http://tomatoi.st</a>, and my coworkers got used to seeing an ominous downwards ticking on one of my monitors... "Oh great, I can bother Dan in 14:35, 14:34, 14:33..." This proved a very good way of carving out half hour chunks of focus, but I was only using a small part of the technique. Recently, I've read a couple of books on this, and have double down on the tomato timer.<br />
<br />
<h4>
A few recent tweaks:</h4>
<br />
<ol>
<li>I got a real timer. Cirillo writes eloquently of the learned effect of the ticking tomato... The ticking means you're focused. All is well in the world. You're on task.</li>
<li>I started doing planning and reviews. This is the real power of the technique. You keep an inventory of things you can do (analogous to a Scrum product backlog), then you pick the things you are going to do today (like a Scrum iteration backlog), and put one or more boxes after each task, for the number of pomodori you think it will take. You track external interruptions with a hyphen, and internal interruptions ("How did I find myself on Twitter?") with an apostrophe. Then you do a mini retro at the end of the day, and log stats. Most important is the number of pomodori you were able to do (your velocity), and whether you were successful in making it through your to do list. Also of interest is the number of interruptions, internal and external. [Full disclosure... my pomodoro records have slipped. I need to pick up the habit again. Agilistas would call this "Pomodoro But..."]. One thing I find very appealing about the technique is that you can tweak your logging based on what you want to work on. Suppose you want to get better at handling interruptions promptly. You could use a different symbol, say a plus, for interruptions you were able to negotiate and resolve within a minute or so, and then track your plus to minus ratio over a few days until it got where you wanted it to be. Just as with Scrum retros you pick one thing you want to work on as a team in the next Sprint, you do the same thing, at a personal level, with pomdoro records.</li>
<li>I stopped using break time to deal with interruptions, instead moving them into separate, "cleanup" pomodori. Breaks are sacred. You need to keep the motor humming. I got to see the power of this recently in a large group meeting. My "sadness spidey sense" could see the energy slip out of the room as we worked through a very long task list, and I proposed we break for 10. We did. It was a different group that came back in. Ten people working at double or triple efficiency. Do the math.</li>
</ol>
<h4>
Objections...</h4>
<div>
<ol>
<li>"But I'm in a flow!" Yes, and that may be good, or that may be bad. Coming back to tasks at a regular intervals offers a constant stream of "hey we could just do this" moments, that IMHO more than compensate for the interruption. </li>
<li>"Twenty-five minutes is too short." I hear that a lot, and then people often change their tune after they try it. It's a really good length for easing you into concentration at the start of your day, and it's a manageable length when you start getting tired towards the end of the day. You tell me you can go without looking at blogs or twitter or Slack for 90 minutes on a regular basis? I'm not sure I believe you. The idea is to push yourself to do a quantum of total focus, then breathe. Do the reps, then recharge, then do the reps. But... if you really are constituted differently from the way I am, and can maintain absolute focus for 45 minutes, then make that your increment.</li>
<li>"My boss won't let me take breaks." Maybe not. Say you want to stand up and stretch every 30 minutes. You can probably get away with that. And if you produce a solid stream of focused pomodori in a day, you are going to get a lot done. I don't think this is going to be an issue.</li>
<li>"People expect immediate responses." Sometimes. Sometimes they just want a realistic prediction. "I'm in the middle of something, can I get back to you in 15 minutes?" is professional, respectful, and if the building is not burning down, usually acceptable. Sometimes it isn't. Then void the pomodoro and do what you need to do.</li>
<li>"There is no way I can go for 25 minutes without Twitter/Facebook/Linkedin/Vine/Twitch/Whatever." Hmmm. Maybe emulate Signore Cirrillo, and start with 10 minutes. We all have to start somewhere.</li>
</ol>
<div>
Sometimes, if you are not sleeping well, you look at the clock, and it says 11 PM. That's a good feeling--"I thought it was going to be 4 AM; still plenty of time left". You will feel exactly the same thing looking at your tomato timer, and saying, ah, still at 22 minutes, there's still plenty of time left.</div>
</div>
<div>
<br /></div>
<h4>
To learn more..</h4>
<div>
<br /></div>
<div>
Cirrillo's <a href="http://pomodorotechnique.com/book/">book </a>is quite good. As is this <a href="http://www.amazon.com/Pomodoro-Technique-Illustrated-Pragmatic-Life/dp/1934356506">one</a>, which gets into some of the brain science that makes it work. And props to John Sonmez, who in this <a href="https://www.dotnetrocks.com/?show=980">interview</a> pointed out a key benefit of the technique as a boon to estimation ("you start thinking a blog post takes three pomodori"). Well, this one took 2.5... A little time left to proof it. ... tick, tick, tick,...DING!</div>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com2tag:blogger.com,1999:blog-5589343447323430312.post-55796778876054142672016-01-06T06:00:00.000-05:002016-01-06T06:00:12.858-05:00Properties in JavaScriptContinuing my exploration of JavaScript, with Kyle Simpson's <a href="https://github.com/getify/You-Dont-Know-JS/tree/master/this%20&%20object%20prototypes#you-dont-know-js-this--object-prototypes">this and Object Prototypes</a> as my guide, I'm going to look at some of the functionality introduced with ES5 to allow greater control over the behavior of object properties, which Simpson looks at in <a href="https://github.com/getify/You-Dont-Know-JS/blob/master/this%20&%20object%20prototypes/ch3.md">Chapter 3</a> of his book.<br />
<br />
<a name='more'></a><br />
<div>
<h4>
Object Properties</h4>
<br />
There are a number of ways of attaching a property "a" to an object "myObject":</div>
<div>
<br /></div>
<div>
var myObject = {};</div>
<div>
myObject.a = 2;</div>
<div>
<br /></div>
<div>
or</div>
<div>
<br /></div>
<div>
myObject["a"] = 2;</div>
<div>
<br /></div>
<div>
or </div>
<div>
<br /></div>
<div>
var myObject = {</div>
<div>
a: 2</div>
<div>
}</div>
<div>
<br /></div>
<div>
<h4>
The Object.defineProperty function</h4>
</div>
<div>
<br /></div>
<div>
Starting with EcmaScript5 (which is widely <a href="http://kangax.github.io/compat-table/es5/">supported </a>since the release of IE9), you can also add a property like this:</div>
<div>
<br /></div>
<div>
var myObject = {};</div>
<div>
<br /></div>
<div>
Object.defineProperty(myObject, "a", {</div>
<div>
value: 2</div>
<div>
});</div>
<div>
<br /></div>
<div>
So why would you want to do that? Well, this adds a bit more control to how the property behaves. (Note: A good way to run through these examples is with interactive "node", so you don't have to throw alerts or add console.log statements to inspect values, since myObject.a will print the value to the screen.)<br />
<br />
By default this property is read-only:<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">myObject.a; // 2</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">myObject.a = 3; // Doesn't throw an error, but has no effect.</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">myObject.a; // 2</span><br />
<br />
You can make the property writable by specifying this:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">var myObject2 = {}</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">Object.defineProperty(myObject2, "a", {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> value: 2,</span><br />
<span style="font-family: Courier New, Courier, monospace;"> writable: true</span><br />
<span style="font-family: Courier New, Courier, monospace;">});</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">myObject.a; //2</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">myObject.a = 3;</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">myObject.a; //3</span><br />
<br />
This throws a TypeException only if "use strict"; (or --use-strict for the node REPL) has been called. Otherwise the assignment fails silently.<br />
<br />
Two other properties you can set are worth a look:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">configurable: [true/false]</span><br />
<br />
determines whether you can change these settings. It is a one-way street; you cannot change a property from configurable: false to configurable: true, because that would be changing its configuration. Interestingly, there is a loophole for "writable": you can make a field read-only after you've locked down configuration, but you cannot change it back.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">enumerable: [true/false]</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">determines whether the property shows up in a statement like this:</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">for (var key in myObject) {...}</span><br />
<br />
It also appears to determine whether the property shows up on a REPL. If you type the name of an object with a non-enumerable property, it shows up as "{}", but an enumerable property will display: "{ a: 1 }".<br />
<br />
There are two additional functions available from Object, which allow you to lock down configuration for all properties at a stroke. <span style="font-family: Courier New, Courier, monospace;"><b>Object.seal(someObject) </b></span>sets configurable:false for all properties, and <span style="font-family: Courier New, Courier, monospace;"><b>Object.freeze(someObject)</b></span> does that and also makes the properties read-only, making the object immutable. <br />
<br />
For example, let's lock down a normal JavaScript property.<br />
>var car = {make: 'Honda'}<br />
{ make: 'Honda' }<br />
>car<br />
{make: 'Honda'}<br />
>car.make = 'Chevy'<br />
'Chevy'<br />
>car.make<br />
'Chevy'<br />
>Object.freeze(car)<br />
{ make: 'Honda' }<br />
>car.make = 'Dodge'<br />
'Dodge'<br />
>car.make<br />
'Chevy'<br />
<h4>
<span style="font-weight: normal;">As usual, the assignment fails silently unless in strict mode, in which case you get a type error when you try to assign to the (now) read only property</span></h4>
<h4>
<span style="font-family: inherit;"><br /></span><span style="font-family: inherit;">Getters and Setters</span></h4>
Finally, there are formal getters and setters, much like in C#:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">var myObject = {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> get a() { return 1; }</span><br />
<span style="font-family: Courier New, Courier, monospace;">}</span><br />
<br />On node, if you type myObject, you get this:<br />
{ a: [Getter] }<br />
<br />
And typing myObject.a gets you this:<br />
1<br />
<br />
So we now have a read-only property. We can add a setter as well:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">var myObject = {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> set a(value) { this._a_ = value; }</span><br />
<span style="font-family: Courier New, Courier, monospace;"> get a() { return this._a_; }</span><br />
<span style="font-family: Courier New, Courier, monospace;">}</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">>myObject</span><br />
<span style="font-family: Courier New, Courier, monospace;">{ a: [Getter/Setter] }</span><br />
<span style="font-family: Courier New, Courier, monospace;">>myObject.a = 1;</span><br />
<span style="font-family: Courier New, Courier, monospace;">{ a: [Getter/Setter], _a_: 1 }</span><br />
<span style="font-family: Courier New, Courier, monospace;">>myObject.a</span><br />
<span style="font-family: Courier New, Courier, monospace;">1</span><br />
<br />
So now we can do all kinds of settery things, like constrain values to an acceptable range, or log changes.<br />
<br />
<h4>
Conclusions</h4>
All this stuff may be widely known in the JavaScript community, but for me as a C# guy whose JS knowledge has been limited to peeking in JQuery documentation from time to time, reading about this functionality has been a revelation. I had no idea this was there. It's interesting how the "Object" prototype is the mechanism for introducing this functionality, and it is clear that this is functionality I will want to make use of. It's very appealing to me how these methods allow you to combine the fluidity of JavaScript object manipulation with the rigors of strongly typed (C#) and functional (F#) languages. There's a lot of possibilities here.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
<br /></div>
<br />Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-61449243130857028832015-12-30T06:00:00.000-05:002015-12-31T07:49:52.142-05:00Interactive Rebasing in GitThis post is a quick look at one of my favorite features in Git, interactive rebases. I like this feature because it lets you do two conflicting things: make micro commits (like saving every couple of minutes when editing a Word doc) so you can replay your work, and always go back to a working state of your code, and making clean, well worded, self contained commits to a project repo. Interactive rebasing lets you squish your commits together when you are ready to share them.<br />
<br />
<a name='more'></a>First a word of warning. Rebasing changes history, and should not be done on work that has been shared with others. But that doesn't mean it shouldn't be done. It's like proofing your work, and making it clean before you share it. Good professional practice. <br />
<br />
And a technical point, especially for Windows users. This command uses a text editor as a point of interaction. The Notepad editor that ships with Windows 7 and earlier (and maybe later ones, I haven't checked), garbles the newlines that the Git rebase engine produces, because Git uses Unix style new-lines. Most recent editors (Notepad++, Notepad2, VS Code) can handle this, and if you use Git Extensions (which I recommend), then your Git settings will be set up to use the Git Extensions editor. You can check whether you have an editor set up by typing:<br />
<br />
>git config --global core.editor<br />
<br />
Since I have Git-Extensions installed, I get back this:<br />
"C:/Program Files (x86)/GitExtensions/GitExtensions.exe" fileeditor<br />
<br />
If you want to use Notepad++, for example, you can type in this (options included to make this function as a standalone interaction point, courtesy of this answer on Stack Overflow: <a href="http://stackoverflow.com/a/2486342/402949">http://stackoverflow.com/a/2486342/402949</a>, also see <a href="http://docs.notepad-plus-plus.org/index.php/Command_Line_Switches">http://docs.notepad-plus-plus.org/index.php/Command_Line_Switches</a>)<br />
<br />
>git config --global core.editor "'C:/Program Files (x86)/Notepad++/notepad++.exe' -multiInst -noplugin -nosesssion -notabbar"<br />
<br />
Now lets' get a feel for using interactive rebase. Let's create a repo:<br />
<br />
>git init testing<br />
<br />
And let's add a file:<br />
<br />
>echo file 1 content > file1.txt<br />
<br />
And let's add that to the repo and commit it.<br />
<br />
>git add file1.txt<br />
<br />
>git commit -m "Add file1.txt"<br />
<br />
Now let's create another couple of commits....<br />
<br />
>echo file 2 content>file2.txt<br />
>git add file2.txt<br />
>git commit -m "Add file2.txt"<br />
<br />
>echo file 3 content>file3.txt<br />
>git add file3.txt<br />
>git commit -m "Add file3.txt"<br />
<br />
Okay, if you type git log now, you should see something like this:<br />
<span style="font-family: Courier New, Courier, monospace;">C:\Users\Dan.Solovay\testing>git log</span><br />
<span style="font-family: Courier New, Courier, monospace;">commit 1462505217add0edfe0451a2f608cbcf72cfbda2</span><br />
<span style="font-family: Courier New, Courier, monospace;">Author: dsolovay <dsolovay@gmail.com></span><br />
<span style="font-family: Courier New, Courier, monospace;">Date: Tue Dec 29 18:00:48 2015 -0500</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> Add file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">commit 3ad7253ba59e60642af2b0610a9e40c6af4b9f60</span><br />
<span style="font-family: Courier New, Courier, monospace;">Author: dsolovay <dsolovay@gmail.com></span><br />
<span style="font-family: Courier New, Courier, monospace;">Date: Tue Dec 29 17:59:21 2015 -0500</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> Add file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">commit 78f189fe8f38d80a58ce061e7b43a810674c55df</span><br />
<span style="font-family: Courier New, Courier, monospace;">Author: dsolovay <dsolovay@gmail.com></span><br />
<span style="font-family: Courier New, Courier, monospace;">Date: Tue Dec 29 17:58:32 2015 -0500</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> Add file1.txt</span><br />
<br />
And let use a more arcane command, but a really good one to know about...<br />
<br />
>git reflog<br />
<span style="font-family: Courier New, Courier, monospace;">1462505 HEAD@{0}: commit: Add file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">3ad7253 HEAD@{1}: commit: Add file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">78f189f HEAD@{2}: commit (initial): Add file1.txt</span><br />
<br />
Pretty much the same information, presented a little differently. That will soon change.<br />
<br />
Let's kick off an interactive rebase. The nature of the rebase command is that you rebase <b>onto</b> a commit, so we have to leave the initial commit alone, as our building block. We can launch the interactive rebase two ways:<br />
<br />
git rebase <span style="font-family: 'Courier New', Courier, monospace;">78f189f </span>-i (You will need to change this to your initial commit.)<br />
<br />
Or this:<br />
<br />
git rebase "HEAD^^" -i<br />
<br />
HEAD means most recent commit, HEAD^ is it's parent, and HEAD^^ is thus your initial commit. But.... the caret character means line continuation on Windows, so you need to but "HEAD^^" in quotes or you will get a "More?" prompt. You need to remember this when you read Git documentation and use it on Windows (cmd or PowerShell)..<br />
<br />
Either command should cause Notepad++ to open, with this display:<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">pick 3ad7253 Add file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">pick 1462505 Add file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"># Rebase 78f189f..1462505 onto 78f189f</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Commands:</span><br />
<span style="font-family: Courier New, Courier, monospace;"># p, pick = use commit</span><br />
<span style="font-family: Courier New, Courier, monospace;"># r, reword = use commit, but edit the commit message</span><br />
<span style="font-family: Courier New, Courier, monospace;"># e, edit = use commit, but stop for amending</span><br />
<span style="font-family: Courier New, Courier, monospace;"># s, squash = use commit, but meld into previous commit</span><br />
<span style="font-family: Courier New, Courier, monospace;"># f, fixup = like "squash", but discard this commit's log message</span><br />
<span style="font-family: Courier New, Courier, monospace;"># x, exec = run command (the rest of the line) using shell</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># These lines can be re-ordered; they are executed from top to bottom.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># If you remove a line here THAT COMMIT WILL BE LOST.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># However, if you remove everything, the rebase will be aborted.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Note that empty commits are commented out</span><br />
<div>
<br /></div>
Let's edit the file, by switching the order of the commits, like this:<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"><b>pick 1462505 Add file3.txt</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><b>pick 3ad7253 Add file2.txt</b></span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"># Rebase 78f189f..1462505 onto 78f189f</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Commands:</span><br />
<span style="font-family: Courier New, Courier, monospace;"># p, pick = use commit</span><br />
<span style="font-family: Courier New, Courier, monospace;"># r, reword = use commit, but edit the commit message</span><br />
<span style="font-family: Courier New, Courier, monospace;"># e, edit = use commit, but stop for amending</span><br />
<span style="font-family: Courier New, Courier, monospace;"># s, squash = use commit, but meld into previous commit</span><br />
<span style="font-family: Courier New, Courier, monospace;"># f, fixup = like "squash", but discard this commit's log message</span><br />
<span style="font-family: Courier New, Courier, monospace;"># x, exec = run command (the rest of the line) using shell</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># These lines can be re-ordered; they are executed from top to bottom.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># If you remove a line here THAT COMMIT WILL BE LOST.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># However, if you remove everything, the rebase will be aborted.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Note that empty commits are commented out</span><br />
<div>
<br /></div>
You should see this message:<br />
<span style="font-family: Courier New, Courier, monospace;">Successfully rebased and updated refs/heads/master.</span><br />
<br />
If you don't, you can always get back to your pre rebase state with this command: git rebase --abort<br />
<br />
Now lets look at the log:<br />
<span style="font-family: Courier New, Courier, monospace;">>git log</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">commit 61a380892db71cc02db305492867830059c2df22</span><br />
<span style="font-family: Courier New, Courier, monospace;">Author: dsolovay <dsolovay@gmail.com></span><br />
<span style="font-family: Courier New, Courier, monospace;">Date: Tue Dec 29 17:59:21 2015 -0500</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> Add file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">commit 527a0483703d281628e7f847aec7ecf7ef6babbe</span><br />
<span style="font-family: Courier New, Courier, monospace;">Author: dsolovay <dsolovay@gmail.com></span><br />
<span style="font-family: Courier New, Courier, monospace;">Date: Tue Dec 29 18:00:48 2015 -0500</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> Add file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">commit 78f189fe8f38d80a58ce061e7b43a810674c55df</span><br />
<span style="font-family: Courier New, Courier, monospace;">Author: dsolovay <dsolovay@gmail.com></span><br />
<span style="font-family: Courier New, Courier, monospace;">Date: Tue Dec 29 17:58:32 2015 -0500</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> Add file1.txt</span><br />
<div>
<br /></div>
You've just rewrote history. You can see your steps with<br />
<span style="font-family: Courier New, Courier, monospace;">>git reflog</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">61a3808 HEAD@{0}: rebase -i (finish): returning to refs/heads/master</span><br />
<span style="font-family: Courier New, Courier, monospace;">61a3808 HEAD@{1}: rebase -i (pick): Add file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">527a048 HEAD@{2}: rebase -i (pick): Add file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">78f189f HEAD@{3}: rebase -i (start): checkout HEAD^^</span><br />
<span style="font-family: Courier New, Courier, monospace;">1462505 HEAD@{4}: rebase -i (finish): returning to refs/heads/master</span><br />
<span style="font-family: Courier New, Courier, monospace;">1462505 HEAD@{5}: rebase -i (start): checkout HEAD^^</span><br />
<span style="font-family: Courier New, Courier, monospace;">1462505 HEAD@{6}: commit: Add file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">3ad7253 HEAD@{7}: commit: Add file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">78f189f HEAD@{8}: commit (initial): Add file1.txt</span><br />
<br />
Actually, you won't have HEAD@{4} and HEAD@{5}, since those are only there because I forgot to save the first time I tried this. Reflog remembers everything, at least for 90 days. This makes it a very good place to look if you ever can't find a commit (e.g. due to a reset error).<br />
<br />
Note the distinction between HEAD^^ (two commits back on this branch) and HEAD@{2} two commits back on this repo on this machine.<br />
<br />
We can get back to our pre-rebase state by putting this in another branch:<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">git branch the-old-master 146205</span><br />
<span style="font-family: Courier New, Courier, monospace;">git checkout the-old-master</span><br />
<span style="font-family: Courier New, Courier, monospace;">git log</span><br />
Now you will see the original history.<br />
<br />
Or, you can create a branch based on the state after you added file3.txt, and before you added file2.txt. Of course, that moment never actually happened, but you photoshopped it into reality with the rebase:<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">git checkout master</span><br />
<span style="font-family: Courier New, Courier, monospace;">git branch fake_moment "HEAD^"</span><br />
<span style="font-family: Courier New, Courier, monospace;">git checkout fake_moment</span><br />
<span style="font-family: Courier New, Courier, monospace;">dir</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">12/29/2015 06:34 PM <DIR> .</span><br />
<span style="font-family: Courier New, Courier, monospace;">12/29/2015 06:34 PM <DIR> ..</span><br />
<span style="font-family: Courier New, Courier, monospace;">12/29/2015 05:58 PM 14 file1.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">12/29/2015 06:33 PM 16 file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"> 2 File(s) 30 bytes</span><br />
<br />
And you can go back to how things were by going back to master:<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">git checkout master</span><br />
<span style="font-family: Courier New, Courier, monospace;">dir</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">12/29/2015 06:36 PM <DIR> .</span><br />
<span style="font-family: Courier New, Courier, monospace;">12/29/2015 06:36 PM <DIR> ..</span><br />
<span style="font-family: Courier New, Courier, monospace;">12/29/2015 05:58 PM 14 file1.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">12/29/2015 06:36 PM 16 file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">12/29/2015 06:33 PM 16 file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"> 3 File(s) 46 bytes</span><br />
<br />
<span style="font-family: inherit;">Okay, let's do a little more. Let's combine the last two commits:</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">git rebase -i "HEAD^^"</span><br />
<span style="font-family: inherit;"><br /></span>
<span style="font-family: inherit;">And let's change the second commit to a "squash":</span><br />
<br />
<span style="font-family: Courier New, Courier, monospace;">pick 527a048 Add file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">s 61a3808 Add file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"># Rebase 78f189f..61a3808 onto 78f189f</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Commands:</span><br />
<span style="font-family: Courier New, Courier, monospace;"># p, pick = use commit</span><br />
<span style="font-family: Courier New, Courier, monospace;"># r, reword = use commit, but edit the commit message</span><br />
<span style="font-family: Courier New, Courier, monospace;"># e, edit = use commit, but stop for amending</span><br />
<span style="font-family: Courier New, Courier, monospace;"># s, squash = use commit, but meld into previous commit</span><br />
<span style="font-family: Courier New, Courier, monospace;"># f, fixup = like "squash", but discard this commit's log message</span><br />
<span style="font-family: Courier New, Courier, monospace;"># x, exec = run command (the rest of the line) using shell</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># These lines can be re-ordered; they are executed from top to bottom.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># If you remove a line here THAT COMMIT WILL BE LOST.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># However, if you remove everything, the rebase will be aborted.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<br />
<span style="font-family: Courier New, Courier, monospace;"># Note that empty commits are commented out</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: inherit;">You'll get a chance to edit the combined message:</span><br />
<span style="font-family: inherit;"><br /></span><span style="font-family: Courier New, Courier, monospace;">
# This is a combination of 2 commits.</span><br />
<span style="font-family: Courier New, Courier, monospace;"># The first commit's message is:</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">Add file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"># This is the 2nd commit message:</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">Add file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"># Please enter the commit message for your changes. Lines starting</span><br />
<span style="font-family: Courier New, Courier, monospace;"># with '#' will be ignored, and an empty message aborts the commit.</span><br />
<span style="font-family: Courier New, Courier, monospace;"># rebase in progress; onto 78f189f</span><br />
<span style="font-family: Courier New, Courier, monospace;"># You are currently editing a commit while rebasing branch 'master' on '78f189f'.</span><br />
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<span style="font-family: Courier New, Courier, monospace;"># Changes to be committed:</span><br />
<span style="font-family: Courier New, Courier, monospace;">#<span class="Apple-tab-span" style="white-space: pre;"> </span>new file: file2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">#<span class="Apple-tab-span" style="white-space: pre;"> </span>new file: file3.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">#</span><br />
<div>
<br /></div>
<div>
Let's accept by saving and closing. We can see the most recent commit with git show and see the combined message and the combined edits:</div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">>git show</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">commit 424c80411552e87d1af316e06977e681bdec92a8</span></div>
<div>
<div>
<span style="font-family: Courier New, Courier, monospace;">Author: dsolovay <dsolovay@gmail.com></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">Date: Tue Dec 29 18:00:48 2015 -0500</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"> Add file3.txt</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"> Add file2.txt</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">commit 78f189fe8f38d80a58ce061e7b43a810674c55df</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">Author: dsolovay <dsolovay@gmail.com></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;">Date: Tue Dec 29 17:58:32 2015 -0500</span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"><br /></span></div>
<div>
<span style="font-family: Courier New, Courier, monospace;"> Add file1.txt</span></div>
</div>
<div>
<br /></div>
<div>
A few other things you can do:</div>
<div>
<br /></div>
<div>
"f" works just like "s", but doesn't change the first commits message, and doesn't give you a chance to change it. You can also simply remove a commit to remove it from the branch history (including whatever file system changes you may have made.</div>
<div>
<br /></div>
<div>
<span style="font-family: inherit;">This may sound cumbersome, but it really gets to be a groove, and allows you to contribute really well crafted commits with very little effort. Running interactive rebase starts to feel like giving an email a quick read before hitting "Send". Here is a commit of mine that was originally about 10 or so micro commits: </span><a href="https://github.com/dsolovay/hexo-migrator-rss/commit/5c44479c5027b9f45f39ec188c354df0baecc650">https://github.com/dsolovay/hexo-migrator-rss/commit/5c44479c5027b9f45f39ec188c354df0baecc650</a>, adding tests to a Node.js module. Having the commits grouped together with a detailed commit message makes it much easier for the person reviewing the pull request to think through.</div>
<br />
And even if you never use this technique in your day-to-day coding, I recommend stepping through it at least once or twice with a test repo. It really helps anchor the concepts of local commits vs. upstream commits, and gives you a feeling for the power and flexibility that git offers you as an author of code.<br />
<br />Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-65594012901944035432015-12-23T06:00:00.000-05:002015-12-23T06:00:01.433-05:00A Look at Git HashesGit is a locally stored database with integrity guarantees. To get a feel for how this works, this post takes a look at a very simple repository using the commands <span style="font-family: Courier New, Courier, monospace;">ha<span style="font-family: "courier new" , "courier" , monospace;">sh-object</span></span> and <span style="font-family: "courier new" , "courier" , monospace;">cat-file.</span><span style="font-family: inherit;"> Although these are not commands you would normally use (they are among the "plumbing commands" that lie behind the "porcelain commands" like </span><span style="font-family: Courier New, Courier, monospace;">clone </span><span style="font-family: inherit;">and </span><span style="font-family: Courier New, Courier, monospace;">commit</span><span style="font-family: inherit;">), they are very helpful for inspecting the objects that a Git repository manages.</span><br />
<br />
<a name='more'></a><br />
Let's create a Git repository. On a command line, type:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">>git init test</span><br />
<br />
You should see something like:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">Initialized empty Git repository at C:/Some/Path/test/.git</span><br />
<br />
It's interesting to note that the response refers to the .git directory as the repository. The parent directory, "test", is called the "working directory" in Git documentation. It is tracked by Git, but it is not the repository; it's what the repository tracks and controls. Of course, on a non distributed version control system, the repository would reside in an external location.<br />
<br />
Here are the contents of an empty .git repository:<br />
<span style="font-family: "courier new" , "courier" , monospace;"><br />
</span> <span style="font-family: "courier new" , "courier" , monospace;">12/21/2015 06:06 AM 157 config</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">12/21/2015 06:06 AM 73 description</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">12/21/2015 06:06 AM 23 HEAD</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">12/21/2015 06:06 AM <DIR> hooks</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">12/21/2015 06:06 AM <DIR> info</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">12/21/2015 06:06 AM <DIR> objects</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">12/21/2015 06:06 AM <DIR> refs</span><br />
<br />
Let's look at how these files and directories make Git work. The file HEAD contains text that shows what the current branch is:<br />
<span style="font-family: "courier new" , "courier" , monospace;"><br />
</span> <span style="font-family: "courier new" , "courier" , monospace;">>type .git\HEAD</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">ref: refs/heads/master</span><br />
<br />
These 23 bytes of ASCII text are how Git knows what you are working on. The "refs/heads/master" is also a text file. Or will be as soon as you make a commit. It contains 40 alphanumeric characters, the hash value of the current commit. When you switch to a new branch in Git, it does two very simple things: (1) it creates a new file in "refs\heads\" with the name of your new branch, and with the 40 character identifier of the current commit, (2) it updates HEAD to "ref: refs/heads/<your-new-branch>". Contrast this to SVN or TFS, where creating branches is a much heavier operation, causing hierarchies to get created on other servers. On Git, branching is just creating a 40 byte file. Which is pretty fast.<br />
<br />
The real meat of the repository is the "objects" directory, where Git stores the objects it tracks. Let's put some things in there.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>copy con droid1.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">R2-D2</span><br />
<span style="font-family: Courier New, Courier, monospace;">^Z</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">>copy con droid2.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;">C-3PO</span><br />
<span style="font-family: Courier New, Courier, monospace;">^Z</span><br />
<br />
So now we have two files. If Git is going to manage these files, it will need a way to track their contents, to refer to the contents and to track changes. Git uses <a href="https://en.wikipedia.org/wiki/SHA-1">SHA1</a> hashes to do this. They are fast to generate, and they are strongly <a href="http://stackoverflow.com/questions/10434326/hash-collision-in-git/23253149#23253149">unique</a>.<br />
<br />
You can tell the SHA1 hash value for any file (even one not tracked by Git) using <span style="font-family: "courier new" , "courier" , monospace;">git hash-object.</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br />
</span> <span style="font-family: "courier new" , "courier" , monospace;">>git hash-object droid1.txt</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">668b9c33030c59db9c0f11f777029cc3fc0fdaf1</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br />
</span> <span style="font-family: "courier new" , "courier" , monospace;">>git hash-object droid2.txt</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">27c825d7d5393f79c5b14cf0dd719e3dbb391c4e</span><br />
<br />
<br />
<br />
This version of the command just outputs the 40 character value, but you can also use the "-w" option to store it in the "objects" directory. So after<br />
<span style="font-family: "courier new" , "courier" , monospace;"><br />
</span> <span style="font-family: "courier new" , "courier" , monospace;">>git hash-object droid1.txt -w </span><br />
<br />
Git splits the hash into a two character directory name and a 38 character file name, so you would now find a directory named ".git\objects\66" with a file named "<span style="font-family: "courier new" , "courier" , monospace;">8b9c33030c59db9c0f11f777029cc3fc0fdaf1"</span><span style="font-family: inherit;">, which would contain a compressed version of the file (with a very short header stating it was a "blob", and how many bytes long it is). Of course, you normally would not use "hash-object" to do this, you would use "git add" or a GUI tool. But this is what Git uses behind the scenes.</span><br />
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">Let's go back to normal Git commands, and add these files to Git.</span><br />
<span style="font-family: Courier New, Courier, monospace;"><span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">>git add *</span></span><br />
<span style="font-family: Courier New, Courier, monospace;">>git commit -m "These are not the droids you're looking for"</span><br />
<span style="font-family: Courier New, Courier, monospace;">[master (root-commit) 914ebae] These are not the droids you're looking for</span><br />
<span style="font-family: Courier New, Courier, monospace;"> 2 files changed, 2 insertions(+)</span><br />
<span style="font-family: Courier New, Courier, monospace;"> create mode 100644 droid1.txt</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> create mode 100644 droid2.txt</span><br />
<br />
Up to now, the hashes in this post should match yours, but this will not be true with this commit hash, because it contains my name, email address, and the current date. So Git uses one hash to guarantee the contents of a file, and a different hash to guarantee that I was the person who added them to the repository.<br />
<br />
Let's take a look at the artifacts created by this commit.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>type .git\HEAD</span><br />
<span style="font-family: Courier New, Courier, monospace;">ref: refs/heads/master</span><br />
<br />
No change there. I am still on the "master" branch.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">>type .git\refs\heads\master</span><br />
<span style="font-family: Courier New, Courier, monospace;">914ebae549d6f4070184c7db9e1ddbaaf80e1d3b</span><br />
<span style="font-family: inherit;"><br />
</span> Ah, now there is a hash value. A more user friendly ways of seeing this is using the command git log:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">>git log</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">commit 914ebae549d6f4070184c7db9e1ddbaaf80e1d3b</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Author: dsolovay <dsolovay@gmail.com></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Date: Mon Dec 21 06:54:17 2015 -0500</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br />
</span> <span style="font-family: "courier new" , "courier" , monospace;"> These are not the droids you're looking for</span><br />
<br />
But what does the commit contain? We can use another git plumbing command, git cat-file, to inspect it:<br />
<span style="font-family: "courier new" , "courier" , monospace;"><br />
</span> <span style="font-family: "courier new" , "courier" , monospace;">>git cat-file -p 914e</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">tree 9b8c255bff7beb1440cc726ebe3346816dc04d67</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">author dsolovay <dsolovay@gmail.com> 1450698857 -0500</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">committer dsolovay <dsolovay@gmail.com> 1450698857 -0500</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br />
</span> <span style="font-family: "courier new" , "courier" , monospace;">These are not the droids you're looking for</span><br />
<div>
<br /></div>
A few things to note. I typed "914e" instead of the full hash; Git allows these short cuts. The value of the hash is generated from just the text above: the "tree" (we will get to that next), the author and the committer (these will be different if someone is merging in someone else's work), the time stamp for each, and the commit message. Change any of these, and you change the hash value, so the hash guarantees the contents. If this were not an initial commit, the commit would also contain the hash of the parent, thus including its ancestry as part of the SHA1 hash guarantee.<br />
<br />
You can see the power of this guarantee when you fire up, for example, a mongod instance. The hash of the git commit of the version getting used appears in the output. This shows (sorry) that this <b>is </b>the mongod you're looking for:<br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">2015-12-21T07:12:33.466-0500 Hotfix KB2731284 or later update is not installed,</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">will zero-out data files</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">2015-12-21T07:12:33.472-0500 [initandlisten] MongoDB starting : pid=8748 port=27</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">017 dbpath=\data\db\ 64-bit host=DanSolovay-PC</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">2015-12-21T07:12:33.472-0500 [initandlisten] targetMinOS: Windows 7/Windows Serv</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">er 2008 R2</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">2015-12-21T07:12:33.473-0500 [initandlisten] db version v2.6.11</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">2015-12-21T07:12:33.473-0500 [initandlisten] git version: d00c1735675c457f75a12d</span><br />
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">530bee85421f0c5548</span><br />
<br />
And now let's inspect the tree that the commit referred to:<br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">>git cat-file -p 9b8c</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">100644 blob 668b9c33030c59db9c0f11f777029cc3fc0fdaf1 droid1.txt</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">100644 blob 27c825d7d5393f79c5b14cf0dd719e3dbb391c4e droid2.txt</span><br />
<div>
<br /></div>
Again, a hash of a little bit of text. The 100644 is a little bit of UNIX-ese saying this is a non-executable file, "blob" means file (the other objects Git stores are commits, trees, and tags), and then we have the hash of the contents, and the name of the file. So if we renamed the file, the hash wouldn't change, but the name would. It's important to note that the name or location of the directory is not stored in this contents, so if we were to move the directory to a new location (say to test\resources\droids) the hash of the tree object would still be <span style="font-family: 'courier new', courier, monospace;">9b8c255bff7beb1440cc726ebe3346816dc04d67.</span><span style="font-family: inherit;"> In fact, if you do these steps locally</span>, your tree should also be named <span style="font-family: 'courier new', courier, monospace;">9b8c255bff7beb1440cc726ebe3346816dc04d67</span>. Any directory, on any computer, in any universe, at any time in history, that has two files named droid1.txt and droid2.txt with the contents "R2-D2" and "C-3PO" will have the hash <span style="font-family: "courier new" , "courier" , monospace;">9b8c255bff7beb1440cc726ebe3346816dc04d67.</span><span style="font-family: inherit;"> Guaranteed.</span><br />
<span style="font-family: inherit;"><br />
</span> <span style="font-family: inherit;">If you found this exploration entertaining, I highly recommend <a href="https://git-scm.com/book/en/v2/Git-Internals-Git-Objects">Chapter 10</a> of Pro Git, which builds a commit by hand. Just a note that there is a Ruby script at the end of section 2 that does not format correctly on the website, so if want to walk through that, please go to the <a href="https://progit2.s3.amazonaws.com/en/2015-12-01-4cfce/progit-en.935.pdf">PDF </a>version. And if you would like a deeper dive into the .git directory, <a href="http://gitready.com/advanced/2009/03/23/whats-inside-your-git-directory.html">this blog post</a> is very useful. </span><br />
<br />Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-86947447123816840782015-12-16T06:00:00.000-05:002015-12-16T06:00:00.738-05:00Looking at 'this' in JavaScriptJavaScript looks a lot like C#. But the internal plumping is utterly different. I've always found this somewhat befuddling. As a C# developer, you kind of think you know how things are working, but often you don't. Which makes figuring out what's happening when things are not working really challenging. I've just started reading a book in Kyle Simpson's (<a href="http://www.twitter.com/getify">@getify</a>) accurately titled series, You Don't Know JavaScript, a slim monograph on <a href="https://github.com/getify/You-Dont-Know-JS/tree/master/this%20%26%20object%20prototypes">this & Object Prototypes</a>, and things are kind of clearer. Kind of.<br />
<br />
<a name='more'></a><br />
So the following bit of C# and JavaScript look a lot alike:<br />
<br />
C#:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">public class Car {</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> private string make;</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> private string model; </span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> private int year;</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;"> public Car(string make, string model, int year) {</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> this.make = make;</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> this.model = model;</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> this.year = year;</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> }</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;"> public override string ToString() {</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> return string.Format("Car: {0} {1} {2}", make, model, year);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> }</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">}</span><br />
<br />
JavaScript:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">function Car(make, model, year) {</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> this.make = make;</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> this.model = model;</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> this.year = year;</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">}</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Car.prototype.toString = function () {</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> return "Car: " + this.make + " " + this.model + " " + this.year; </span><br />
<span style="font-family: "courier new" , "courier" , monospace;">}</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
Invocation is pretty similar too:<br />
<span style="font-family: "courier new" , "courier" , monospace;">static void Main()</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">{</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> var car = new Car("Honda", "Civic", 2003);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> Console.WriteLine(car);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">}</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
or<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">var car = new Car("Honda", "Civic", 2003);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">console.log(car.toString());</span><br />
<br />
But underneath this similarity is a whole lot of difference. C# has classes, and JavaScript does not. JavaScript has functions that can returned typed objects, but does this without a class mechanism. Put differently, the "this" in C# is tightly circumscribed within in a class membrane, and can only appear there. That makes its behavior very predictable. It refers to current instance of the class, and that's it.<br />
JavaScript on the other hand has functions, and these functions might be intended to create classes or they might not. And so the language specification is powerless to limit the context of this, and must therefore define its behavior in a whole heap of contexts, which the first two chapters of Kyle Simpson's book enumerate. Let's take a look at a few of them.<br />
<br />
Simpson deals with <b><span style="font-family: "courier new" , "courier" , monospace;">new</span></b> last, and we've already taken a look at that. It's the friendly one, the one that makes sense to us classical programmers. But what about this:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">var message = "hello";</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">function sayMessage() {</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> console.log(this.message);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">}</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">sayMessage();</span><br />
<br />
That works. Try it. But this does not:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">(function() { </span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> var message = "hello";</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> function sayMessage() {</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> console.log(this.message);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> }</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> sayMessage();</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">})();</span><br />
<br />
Why does one return "hello", and the other undefined? Because the fallback rule if nothing else determines the meaning of this is to use the global namespace. Yuck. It's kind of scary to have code that works outside of an IIFE but fails inside of one. Fortunately, you can "use strict" inside the function, and then the behavior is consistent:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">var message = "hello";</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">function sayMessage() {</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> "use string";</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> console.log(this.message);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">}</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">sayMessage();</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
And now the output is:<br />
<span style="font-family: "courier new" , "courier" , monospace;">TypeError: Cannot read property 'message' of undefined</span><br />
<br />
For my money, this is a heck of a good reason to "use strict". I can picture spending a few very unpleasant hours trying to figure that one out. Note that "use strict" has to cover the place where the this is used, so that this code still outputs "hello":<br />
<span style="font-family: "courier new" , "courier" , monospace;">var message = "hello";</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">function sayMessage() {</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;"> console.log(this.message);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">}</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">"use string";</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">sayMessage();</span><br />
<br />
The book covers a whole host of other scenarios: implicit binding, explicit binding, call and apply. I will leave you with just one more:<br />
<span style="font-family: "courier new" , "courier" , monospace;">var anotherCar = { construct: Car};</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">anotherCar.construct("Ford", "Fiesta", 1978);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">console.log(anotherCar.year);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>> 1978</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
Okay, so far so good. Rather than using "new" to supply the "this", we are attaching the this by hand by including the function directly to an object. But what if we then assign the function to another variable?<br />
<span style="font-family: "courier new" , "courier" , monospace;">var anotherCar = { construct: Car};</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">var c = anotherCar.construct; </span><br />
<span style="font-family: "courier new" , "courier" , monospace;">c("Ford", "Model T", 1908);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">console.log(anotherCar.year);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">>> undefined</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
Because c is a reference to the function itself, not to the copy of the function that lived inside the "anotherCar" object. The moral of the story: it's where the function is called that determines the behavior of "this".Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-39739862049601149442015-12-09T06:00:00.001-05:002015-12-14T22:32:56.779-05:00Node.js Development with Visual Studio CodeLast weekend I took my first steps in Node.js development, adding a small feature to a Hexo plugin. <a href="http://hexo.io/" target="_blank">Hexo</a>, as I blogged <a href="http://www.dansolovay.com/2015/12/hexo-nodejs-blog-platform.html" target="_blank">last week</a>, is a static site generator written in Node.js, to which I am planning to migrate this blog. I made good progress as first, but soon required a debugger, and took the opportunity to learn the basics of VS Code as a Node editor and debugger. This article will walk through the basics of environment set up and debugging with VS Code.<br />
<a name='more'></a><br />
<!--more--><br />
<br />
<h2>
Getting Started</h2>
This article assumes two things. Well maybe three. <br />
<ol>
<li>You have Visual Studio Code installed. You can find it <a href="http://code.visualstudio.com/" target="_blank">here</a>. <br />
</li>
<li>You have <code>Node.js</code> and <code>npm</code> installed. Same <a href="https://www.blogger.com/(https://nodejs.org/en/download/)" target="_blank">download</a></li>
<li>You know just enough JavaScript to be dangerous. <br />
</li>
</ol>
<h2>
Creating a NPM package</h2>
As an exercise, let's imagine we are building a small node module called <code>linecount</code> that tallies up the lines in a file. Let's get started creating a node project.<br />
<br />
<pre><code>mkdir linecount
cd linecount
npm init
</code></pre>
<br />
This will fire off a small wizard that creates a package.json file, which is roughly equivalent to a .csproj file for a C# project. If we step through the wizard and accept the results, we will end up with a file like this:<br />
<br />
<pre><code>{
"name": "linecount",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
</code></pre>
<br />
I'm a TDD guy, so I like to make sure my code doesn't work before I get to far ahead of myself. So let's execute this and confirm it's broken, using <code>node .</code> to execute the current directory.<br />
<br />
<pre><code>c:\src\linecount>node .
</code></pre>
<pre><code>module.js:338
throw err;
^
Error: Cannot find module 'c:\src\linecount'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
</code></pre>
<br />
So we have our "red light." Let's edit this in Code to add a little functionality. The command is <code>code .</code>. No, I don't think the one letter change from <code>node</code> to <code>code</code> is a coincidence. <br />
<br />
<pre><code>c:\src\linecount>code .
</code></pre>
<br />
That will pull up a screen like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/pjixglR.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/pjixglR.png" height="480" width="640" /></a></div>
<br />
<br />
If we add a file called <strong>index.js</strong>, we will be able to run <code>node .</code> without error. We will also get basic JavaScript IntelliSense and AutoComplete. For example, if we type <code>console.</code>, we get this:<br />
<pre></pre>
<pre><code><div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/mKVUSxh.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/mKVUSxh.png" height="480" width="640" /></a></div>
</code></pre>
<br />
<h2>
Adding More IntelliSense</h2>
However, this is only part of the IntelliSense story. If we type something like<br />
<br />
<pre><code>var fs = require('fs');
fs.
</code></pre>
<br />
We get no information about either the <code>require</code> statement or the <code>fs</code> class. We can fix that by installing TypeScript declaration files for <code>node</code>. First, we need to install <code>tsd</code> a utility for downloading ypeScript. <br />
<br />
<pre><code>
</code></pre>
<pre><code>npm install -g tsd
</code></pre>
<br />
Now we can download the definition files with this command from a command prompt.<br />
<br />
<pre><code>tsd install node
</code></pre>
<br />
This will create a directory called .vscode, and place a file node.d.ts inside it. Now our <code>fs.</code> gives us a rich list of options. (This is a great way to explore the capabilities of the Node API.)<br />
<pre></pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/dhUC2pz.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/dhUC2pz.png" height="480" width="640" /></a></div>
<pre> </pre>
<br />
There are quite a large number of TypeScript files available. You can use <code>tsd query</code> to get a list. We will install the one for <strong>mocha</strong> in a little bit, when we move on to testing. One more thing before we move on to debugging. You might want to <code>require</code> your own files, with this syntax:<br />
<pre><code>var myClass = require('./myClass');
</code></pre>
<br />
For example, suppose you had a file <strong>helper.js</strong> that had this code:<br />
<pre><code>exports.hello = function() {
console.log("hello from helper");
}
</code></pre>
<br />
If you reference this file from <strong>index.js</strong>, you will get IntelliSense:<br />
<pre><code>
</code></pre>
<pre><code>var helper = require('./helper');
helper.
</code></pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/bn13fcN.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/bn13fcN.png" height="486" width="640" /></a></div>
<pre><code>
</code></pre>
<pre><code>
</code></pre>
<br />
<h2>
Debugging</h2>
Okay, so far so good. But now we want to be able to put a breakpoint in <strong>helper.js</strong>. This is easily set, but clicking in the left margin as you would in Visual Studio. To fire off the debugger, however, takes a little bit of one-time (per project) configuration.<br />
Click on the Debug icon (1), then the gear icon (2), then select Node.js in the drop-down list (3):<br />
<pre></pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/twblDc9l.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/twblDc9l.png" height="360" width="640" /></a></div>
<pre> </pre>
<br />
If you now launch the debugger, you will hit your breakpoint, with all the usual features of a debugger (variables, watches, and the call stack). <br />
<br />
Note: There are more complex scenarios that require a bit more configuration. For example, I was recently testing a module that was not directly called, but was used when this command was issued<br />
<pre><code>
</code></pre>
<pre><code>hexo migrate rss <RSS feed url> --alias
</code></pre>
<br />
In order to get this to work, I needed to make a few edits to my launch.json fileplace the path to hexo package, located in my %appdata% folder for the program, and had to put the remaining command line arguments in the <code>args</code> array:<br />
<pre><code>
</code></pre>
<pre><code>"configurations": [
{
"name": "Launch",
"type": "node",
"request": "launch",
"program": "c:/users/Dan.Solovay/AppData/Roaming/npm/node_modules/hexo-cli/bin/hexo",
"stopOnEntry": false,
"args": ["migrate", "rss", "http://www.dansolovay.com/feeds/posts/default", "--alias"],
"cwd": ".",
"runtimeExecutable": null,
"runtimeArgs": [
"--nolazy"
],
"env": {
"NODE_ENV": "development"
},
"externalConsole": false,
"sourceMaps": false,
"outDir": null
},
</code></pre>
<br />
<h2>
Adding Tests</h2>
Okay, so let's add some tests, using Mocha.js, a widely used test framework for Node development.<br />
<br />
<pre><code>npm install -g mocha
</code></pre>
<br />
Now lets add a file <strong>test.js. </strong>Mocha tests are written in a nested call syntax, with a <em>describe</em> function for the unit under test, a <em>context</em> clause, and an <em>it</em> clause to indicate each test.<br />
<br />
<pre><code>var assert = require('assert');
var sut = require('./linecount')
describe("linecount", function() {
context("file with three lines", function() {
var result = sut('./testfile.txt');
it("returns 3", function() {
assert.equal(3, result);
});
});
});
</code></pre>
<br />
We can run this test by going to a command prompt and typing "mocha", and we can get to a naive passing result with this <strong>linecount.js</strong>:<br />
<br />
<pre><code> exports.getLineCount = function(fileName) {
return 3;
}
</code></pre>
<br />
Okay, not production ready, but this does show that our test framework works, which is not nothing:<br />
<pre></pre>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/Ad31Z15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/Ad31Z15.png" height="348" width="640" /></a></div>
<pre> </pre>
<br />
<h2>
Debugging Tests</h2>
If we need to debug these, we can call mocha with a debug option, which will break on the first line. <br />
<pre><code>
</code></pre>
<pre><code>mocha --debug-brk
</code></pre>
<br />
Then we can use the "Attach" option of the debugger to continue through the program. You can see this is a full debugger experience, with watches, locals, and a call stack.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/5uLJT7K.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/5uLJT7K.png" height="480" width="640" /></a></div>
<br />
<h2>
To Learn More</h2>
I hope this gives you a flavor of the power and flexibility of VS Code. To dig deeper into the topics discussed, here are a few resources that were helpful for me:<br />
<ul>
<li><a href="https://code.visualstudio.com/Docs/editor/codebasics" target="_blank">Series introducting VS Code</a></li>
<li><a href="https://code.visualstudio.com/Docs/runtimes/nodejs" target="_blank">Node development overview</a></li>
<li><a href="https://code.visualstudio.com/docs/editor/tasks_appendix" target="_blank">Integrating grunt/gulp build and test tasks</a></li>
<li><a href="https://www.dotnetrocks.com/?show=1215" target="_blank">Dot Not Rocks podcast</a></li>
<li><a href="https://mochajs.org/" target="_blank">Mocha reference</a></li>
<li>Two recent forays into Node development:</li>
<ul>
<li><a href="https://github.com/hexojs/hexo-generator-alias/pull/5" target="_blank">https://github.com/hexojs/hexo-generator-alias/pull/5</a></li>
<li><a href="https://github.com/hexojs/hexo-migrator-rss/pull/5">https://github.com/hexojs/hexo-migrator-rss/pull/5</a></li>
</ul>
</ul>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com1tag:blogger.com,1999:blog-5589343447323430312.post-57742706136593388972015-12-02T06:00:00.000-05:002015-12-02T06:00:02.594-05:00Hexo, a Node.js Blog PlatformIt's been five years since I wrote my first blog post, a look at XSLT that still gets pretty good traffic. I chose Blogger because it was free and easy, and the fact Google owned it gave me some confidence it would stick around. But it's been feeling like less and less of a good fit recently. <br />
<a name='more'></a>My bread and butter as a blogger is the technical walk through, which means code, which means angle brackets, which means using their WYSWIG editor (which does weird things to styles over the course of a post) or editing HTML directly, where you have to replace each and every angle bracket with a &lt; and &gt;, which is a true pain, and which I don't always remember to do. I also really do not like the lack of versionning. I use git commits very very regularly when I code (like hitting Save when writing a Word document), and have become accustomed to the idea I can always go back to an earlier state. The thought I might accidentally delete a paragraph from a post have to go to the Wayback machine to find it was not a comfortable feeling. <br />
<div>
<br /></div>
<div>
The rise of Github and Github <a href="https://pages.github.com/" target="_blank">pages</a>, and a whole <a href="https://staticsitegenerators.net/" target="_blank">ecosystem </a>of static site generators built around them offered the promise of easier way. I especially liked the idea of being able to author in Markdown, where code is indicated by tabbing four spaces (which MarkDown Pad can do with a single tab stroke). I was planning to look at Jekyll, but came upon a <a href="http://kamsar.net/index.php/2015/04/Blogging-with-Hexo-a-Node-js-detour/" target="_blank">post </a>by Kam Figy recommending <a href="http://hexo.io/" target="_blank">Hexo</a>. Since it is built on Node.js, there's a lot less of the "we're not sure this is going to work on Windows" about it then you will run into with a Ruby based platform, and JavaScript is a language I kind of know, unlike Ruby, which I kind of don't.</div>
<div>
<br /></div>
<div>
The more I've dug into Hexo, the more impressed I've been. Assuming you have node installed on your computer, set up was something you could do in seconds. The following set of commands, taken form the project home page, got me up and running locally:</div>
<div>
<ul id="intro-cmd-wrap" style="background: rgb(238, 238, 238); border: 0px; box-sizing: inherit; color: #444444; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 15px; list-style: none; margin: 50px auto 0px; max-width: 700px; outline: 0px; padding: 15px 0px; vertical-align: baseline;">
<li class="intro-cmd-item" style="border: 0px; box-sizing: inherit; font-family: 'Source Code Pro', Monaco, Menlo, Consolas, monospace; font-size: 1pc; font-style: inherit; font-weight: inherit; line-height: 2; margin: 0px; outline: 0px; padding: 0px 30px; vertical-align: baseline;">npm install hexo-cli -g</li>
<li class="intro-cmd-item" style="border: 0px; box-sizing: inherit; font-family: 'Source Code Pro', Monaco, Menlo, Consolas, monospace; font-size: 1pc; font-style: inherit; font-weight: inherit; line-height: 2; margin: 0px; outline: 0px; padding: 0px 30px; vertical-align: baseline;">hexo init blog</li>
<li class="intro-cmd-item" style="border: 0px; box-sizing: inherit; font-family: 'Source Code Pro', Monaco, Menlo, Consolas, monospace; font-size: 1pc; font-style: inherit; font-weight: inherit; line-height: 2; margin: 0px; outline: 0px; padding: 0px 30px; vertical-align: baseline;">cd blog</li>
<li class="intro-cmd-item" style="border: 0px; box-sizing: inherit; font-family: 'Source Code Pro', Monaco, Menlo, Consolas, monospace; font-size: 1pc; font-style: inherit; font-weight: inherit; line-height: 2; margin: 0px; outline: 0px; padding: 0px 30px; vertical-align: baseline;">npm install</li>
<li class="intro-cmd-item" style="border: 0px; box-sizing: inherit; font-family: 'Source Code Pro', Monaco, Menlo, Consolas, monospace; font-size: 1pc; font-style: inherit; font-weight: inherit; line-height: 2; margin: 0px; outline: 0px; padding: 0px 30px; vertical-align: baseline;">hexo server</li>
</ul>
</div>
<div>
<br /></div>
<div>
After this, you will have a version of the website running on port 4000. The whole thing took me about a minute, mostly for the "npm install" step. After issuing the command hexo init blog ("blog" is a directory, you could choose anything else), you will get the following structure:</div>
<div>
<br /></div>
<div>
<div>
C:\Users\Dan.Solovay\testhexo>dir</div>
<div>
Volume in drive C is OS</div>
<div>
Volume Serial Number is F67A-0624</div>
<div>
<br /></div>
<div>
Directory of C:\Users\Dan.Solovay\testhexo</div>
<div>
<br /></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">11/26/2015 04:09 PM <DIR> .</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">11/26/2015 04:09 PM <DIR> ..</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">11/26/2015 04:09 PM 65 .gitignore</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">11/26/2015 04:09 PM 442 package.json</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">11/26/2015 04:09 PM <DIR> scaffolds</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">11/26/2015 04:09 PM <DIR> source</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">11/26/2015 04:09 PM <DIR> themes</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">11/26/2015 04:09 PM 1,477 _config.yml</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> 3 File(s) 1,984 bytes</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> </span></div>
</div>
<div>
<br /></div>
<div>
The .gitignore is there in case you want to set up a git repository for your blog. It ignores the built in and generated stuff, so just your markdown files and configuration is recorded. package.json includes the Node modules that make that power hexo. They will get loaded when you run "npm install". _config.yml is where you define site wide options, like the name of your site, and the location where you want to deploy to. Your posts go in the "source" directory as Markdown files, and the generated HTML will go in a "public" folder. </div>
<div>
<b><br /></b></div>
<div>
<b>Basic Workflow</b></div>
<div>
You can generate a new post by typing</div>
<div>
<br /></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">hexo new post "My Post Name"</span></div>
<div>
<br /></div>
<div>
or </div>
<div>
<br /></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">hexo new draft "My Post Name"</span></div>
<div>
<br /></div>
<div>
These create Markdown files either in source/_posts or source/_drafts. Drafts will not get deployed to your destination site if you do a deploy (more on that later), and can get turned into posts by typing</div>
<div>
<br /></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">hexo publish post "My Post Name"</span></div>
<div>
<br /></div>
<div>
This moves it over to the _posts folder, and adds a date field to the page header, if one is not already there. But the post is still in Markdown. The HTML gets created by typing:</div>
<div>
<br /></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">hexo generate</span></div>
<div>
<br /></div>
<div>
Again, you can type "hexo server" to launch a server at port 4000, and "hexo server --drafts" to include draft posts (useful for double checking Markdown conversion, and so forth.)</div>
<div>
<b><br /></b></div>
<div>
To give you a flavor of the power of editing in Markdown, here is a side by side of a test post in Markdown and what was generated using the preinstalled "landscape" layout.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/F95TGYy.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/F95TGYy.png" height="344" width="640" /></a></div>
<div>
<br /></div>
<div>
You can see that the angle brackets in the Markdown were respected, and there was even built in syntax highlighting. I find the overall look and feel very readable. This easy of readability really jumps out when we look at an actual post. Here is a a page of a recent post on my current Blogger layout, and in Hexo. I think the syntax highlighting of the PowerShell makes the post much more readable. The kicker was how much easier the version on the right was to compose. Less work, better results. That is the power of using current tooling, my friends.</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://i.imgur.com/YuX7KqP.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://i.imgur.com/YuX7KqP.png" height="360" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<h4>
Deploying to Github</h4>
<div>
Of course, you need to get your content to some place where people can see it. One compelling option is Github pages. Every github user gets a free website at URL username.github.io, which is supported by a repository of the same name. In other words, if your github user account name is "myname", and you create a repository called "myname.github.io", and HTML pages there will be served by Github at the URL http://myname.github.io. And since the site is supported by a repo, you get versioning for free, at least for the generated HTML.</div>
<div>
<br /></div>
<div>
With a very little bit of setup, you can push to this repo with a single command. First, you need to install the Node module "hexo-deployer-git". Then, in your _config.yml file, go to the section Deployment, and set the type of deployment to "git" and put the Url of the git repository for the destination site. You can also configure the commit message and branch, as described <a href="https://hexo.io/docs/deployment.html" target="_blank">here</a>. <br />
<br />
My deployment settings are: <br />
<br /></div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"># Deployment</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">## Docs: http://hexo.io/docs/deployment.html</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;">deploy:</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> type: git</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace;"> repo: https://github.com/dsolovay/dsolovay.github.io.git</span></div>
</div>
<div>
<br /></div>
<div>
Now deployment can be handled by Hexo using a simple git push behind the scenes, triggered by the command <span style="font-family: "courier new" , "courier" , monospace;">hexo deploy</span> . You can use option -g to regenerate the site, which I needed to do to make a backdated post appear (there is probably some updated up to here logic I was bypassing by setting dates in the past).<br />
<br />
<h4>
Next Steps</h4>
I expect the full migration process to take me a month or two. I'd like to pull comments over, and this is not supported out of the box from DISQUS. I am working on getting redirects from my old URLs working, and should blog about that soon. When things look good, I'll repoint http://www.dansolovay.com to the new URL (dsolovay.github.io), but will keep my original URL http://dan-explorations.blogspot.com on line. It is free, after all, and it's where I got my start blogging.</div>
<div>
<b><br /></b></div>
<div>
<br /></div>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com2tag:blogger.com,1999:blog-5589343447323430312.post-16708178493547321772015-11-25T06:00:00.000-05:002015-11-25T06:00:10.880-05:00Creating MongoDB Shards and Replica Sets with PowerShellIn the MongoDB University course "M101N: MongoDB for .NET Developers", there is a walk through of a UNIX script to create a 3x3 set of shards and replica sets. To brush up on my MongoDB and my Powershell, I decided this weekend to try to rewrite and extend the script in Powershell. A somewhat painful, but ultimately rewarding, experience: You can see what I came up with <a href="https://gist.github.com/dsolovay/f098e10df9d7dd91b1ab" target="_blank">here</a>. In this post I will walk through some of the powershell and some of the MongoDB syntax and tricks.<br />
<br />
<a name='more'></a><br />
<br />
<h3>
General Approach</h3>
<div>
I wanted to be able to run the script multiple times, so I decided to put my data directories under c:\temp, and to delete them at the start of the run. Similarly, I spawn all the "mongod" processes as windows, so they are easy to kill with a right click on the task bar. (I didn't want to kill all mongod processes, because I didn't want to touch the one running as a service, that supports my Development Sitecore instances.) Also, I used simple values for my port numbers: the mogod processes run as 30000 to 30008, the configuration servers as 40000, 400001, 400002, and the mongos (which functions as a router in a sharded environment) on port 50000. I also have added some diagnostics to check on statuses of various steps in the processed, rather than simply waiting for an arbitrary 60 seconds, as the original script does.<br />
<br /></div>
<h4>
Clean Up, Set Up</h4>
<div>
The script begins by establishing a temporary directory, cleaning up an old copy and creating an output function, "report", to facilitate nicely formatted status reporting. The output is piped to Out-Null to keep the output stream clean.</div>
<div>
<br /></div>
<div>
<pre>$rootpath = "/temp/mongoshards/"
new-module -scriptblock {function report($text) {
write-output $("-" * $text.length)
write-output $text
write-output $("-" * $text.length)
write-output ""
}} | Out-Null
report "Remove temporary directory"
remove-item $rootpath -recurse
report "Create data directories"
new-item -type directory -path $rootpath | Out-Null
report "Create mongod instances"</pre>
<pre></pre>
<h3>
Creating the Mongod processes</h3>
</div>
<div>
The logic to create the mongod processes is pretty straight-forward:</div>
<div>
<br /></div>
<div>
<pre>report "Create mongod instances"
$shards = 0..2
foreach ($shard in $shards)
{
$rss = 0..2
foreach ($rs in $rss)
{
$dbpath = "$rootpath/data/shard${shard}/r${rs}"
new-item -type directory -path $dbpath | Out-Null
# Start mongod processes
$port = 30000 + ($shard * 3) + $rs
$args = "--replSet s$shard --logpath $rootpath/s${shard}_r${rs}.log --dbpath $dbpath --port $port --oplogSize 64 --smallfiles"
$process = start-process mongod.exe $args
}</pre>
<pre></pre>
<pre><div style="font-family: 'Times New Roman'; white-space: normal;">
The only trickiness here is the variable substitution, leading to paths like "data/shard0/r1", and the logic to create the port numbers, 30000,30001,30002 for the shard 0 processes, 30003-30005 for s1, and 30006-30008 for s2. Of course, these are not yet replica sets; we handle that next.</div>
<h4 style="font-family: 'Times New Roman'; white-space: normal;">
Creating the Replica Sets</h4>
<div style="font-family: 'Times New Roman'; white-space: normal;">
This is done by creating a config document and passing it to rs.initialize.</div>
<div>
</div>
<div>
<pre>report "Configure replica sets"
$port1 = 30000 + $shard * 3
$port2 = 30000 + $shard * 3 + 1
$port3 = 30000 + $shard * 3 + 2
$configBlock = "{_id: ""s$shard"", members: [ {_id:0, host:""localhost:$port1""}, {_id:1, host:""localhost:$port2""}, {_id:2, host:""localhost:$port3""}]}"
echo "rs.initiate($configBlock)" | mongo --port $port1 </pre>
<pre></pre>
<span style="font-family: "times new roman"; white-space: normal;">The</span><span style="font-family: inherit;"> echo "javascript" | mongo </span><span style="font-family: "times new roman";"><span style="white-space: normal;">is a nice bit of syntax I picked up from the course, and simplifies passing MongoDB commands from a script. Since it takes a little while for a server to win an election and become a PRIMARY, we set up a one second loop to look for this event:</span></span>
<span style="font-family: "times new roman";"><span style="white-space: normal;">
</span></span>
<br />
<pre>report "Check PRIMARY elected for each replica set"
while ($True)
{
$response1 = (echo "rs.status()" | mongo -port 30000)
$response2 = (echo "rs.status()" | mongo -port 30003)
$response3 = (echo "rs.status()" | mongo -port 30006)
if (($response1 -clike "*PRIMARY*") -and ($response2 -clike "*PRIMARY*") -and ($response3 -clike "*PRIMARY*")) {
break
}
Start-Sleep -s 1
Write-Output "."
}
report "PRIMARY elected"</pre>
<pre></pre>
<pre></pre>
<span style="font-family: "times new roman";"><span style="white-space: normal;">Note that redirected output creates an array of strings, and the comparison operator -clike checks for a case sensitive match for any member of such an array.</span></span>
<span style="font-family: "times new roman";"><span style="white-space: normal;">
</span></span>
<br />
<h4>
<span style="font-family: "times new roman";"><span style="white-space: normal;">Creating the Shards</span></span></h4>
</div>
<div>
<span style="font-family: "times new roman";"><span style="white-space: normal;">Two steps are left to create the shards. First, we need to create the configuration servers that will store which records go where, and then we need to define each replica set as a shard. Finally, we need to specify the collection and key that will be used for sharding the data</span></span></div>
<div>
<span style="font-family: "times new roman";"><span style="white-space: normal;">
</span></span></div>
<div>
<pre>report "Create config servers"
$cfg_a = "${rootpath}/data/config_a"
$cfg_b = "${rootpath}/data/config_b"
$cfg_c = "${rootpath}/data/config_c"
new-item -type directory -path $cfg_a
new-item -type directory -path $cfg_b
new-item -type directory -path $cfg_c
$arg_a = "--dbpath $cfg_a --logpath ${rootpath}/cfg-a.log --configsvr --smallfiles --port 40000"
$arg_b = "--dbpath $cfg_b --logpath ${rootpath}/cfg-b.log --configsvr --smallfiles --port 40001"
$arg_c = "--dbpath $cfg_c --logpath ${rootpath}/cfg-c.log --configsvr --smallfiles --port 40002"
start-process mongod $arg_a
start-process mongod $arg_b
start-process mongod $arg_c
report "Config servers up"</pre>
<pre></pre>
<pre><span style="font-family: "times new roman"; white-space: normal;">Two configuration servers stores the definitive version of what data resides where; the mongos instances keep this data in memory.</span></pre>
<pre><span style="font-family: "times new roman"; white-space: normal;">
</span></pre>
<pre><span style="font-family: "times new roman";"><span style="white-space: normal;">Once the configuration servers are set up, the next step is to add the shards. Note the step to make sure that port 50000 is on line. Basically, if the response does not contains a line with the word "failed", the server is treated as on-line.</span></span></pre>
<pre><span style="font-family: "times new roman";"><span style="white-space: normal;">
</span></span></pre>
<pre>report "Launch mongos"
$args_s = "--port 50000 --logpath ${rootpath}/mongos-1.log --configdb localhost:40000,localhost:40001,localhost:40002"
start-process mongos $args_s
report "Check mongos online on port 50000"
while($true)
{
$output = echo "" | mongo localhost:50000 2> null
if (-not ($output -like "*failed*")) {break}
Start-Sleep -s 1
Write-Output "."
}
report "Mongos avaiable at port 50000"
report "Configure shards"
echo "db.adminCommand( { addshard: ""s0/localhost:30000"" })" | mongo --quiet --port 50000
echo "db.adminCommand( { addshard: ""s1/localhost:30003"" })" | mongo --quiet --port 50000
echo "db.adminCommand( { addshard: ""s2/localhost:30006"" })" | mongo --quiet --port 50000
echo "db.adminCommand( { enableSharding:""school"" })" | mongo --port 50000
echo "db.adminCommand( { shardCollection:""school.students"", key:{student_id:1} })" | mongo --port 50000
</pre>
</div>
<div>
</div>
<div>
<h3>
Loading some data</h3>
</div>
<div>
<pre><span style="font-family: "times new roman"; white-space: normal;">To get some data, I use a short Javascript (from MongoDB University) that pushes a list of students and course grades. Once this is done, I display the counts for the combined shared collection, and for each of the specific shards, and the output of sh.status(), which shows the breakpoints that MongoDB is using to distribute data. </span></pre>
<pre><span style="font-family: "times new roman"; white-space: normal;">
</span></pre>
<pre>report "Generate 100,000 documents"
$mongoUniversityScript = "db=db.getSiblingDB(`"school`");
types = ['exam', 'quiz', 'homework', 'homework'];
// 10,000 students
for (i = 0; i < 10000; i++) {
// take 10 classes
for (class_counter = 0; class_counter < 10; class_counter ++) {
scores = []
// and each class has 4 grades
for (j = 0; j < 4; j++) {
scores.push({'type':types[j],'score':Math.random()*100});
}
// there are 500 different classes that they can take
class_id = Math.floor(Math.random()*501); // get a class id between 0 and 500
record = {'student_id':i, 'scores':scores, 'class_id':class_id};
db.students.insert(record);
}
}"
echo $mongoUniversityScript | mongo --port 50000 --quiet
report "Total records, records in shard 1, 2, and 3"
echo "db.students.count()" | mongo school --port 50000
echo "db.students.count()" | mongo school --port 30000
echo "db.students.count()" | mongo school --port 30003
echo "db.students.count()" | mongo school --port 30006
report "sh.status() output"
echo "sh.status()" | mongo --port 50000</pre>
<pre></pre>
<pre></pre>
<pre><span style="font-family: "times new roman"; white-space: normal;">Again, I have a link to the full script at the top of the page. I'm a rank beginner at PowerShell, so please feel free to make suggestions about how style and substance could be improved. </span></pre>
<pre></pre>
</div>
</pre>
</div>
Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0tag:blogger.com,1999:blog-5589343447323430312.post-74552061559749292242015-11-18T06:00:00.000-05:002015-11-18T06:00:01.961-05:00Custom Sitecore Log filesStarting with Sitecore 6.2, and especially since Sitecore 7 we've seen an increase in specific log files: WebDAV, Crawling, Search, Publishing, FXM. This is completely configurable, and can be leveraged to keep your application logic separate from the Sitecore log file while still using Sitecore's logging capabilities.<br />
<a name='more'></a>To create a custom log file, you need to do the following three things:<br />
<br />
1. Add an appender in the <log4net> section of web.config (or Sitecore.config after 8.1).<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;"> <appender name="MyAppender" type="log4net.Appender.SitecoreLogFileAppender, Sitecore.Logging"></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> <file value="$(dataFolder)/logs/MyLog.log.{date}.txt" /></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> <appendToFile value="true" /></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> <layout type="log4net.Layout.PatternLayout"></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> <conversionPattern value="%4t %d{ABSOLUTE} %-5p %m%n" /></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> </layout></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> <encoding value="utf-8" /></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"> </appender></span><br />
<br />
These are the values Sitecore uses for its log file. You might want to add <immediateFlush>true</immediateFlush> if you want to avoid waiting for the buffer to flush.<br />
<br />
2. Reference the Appender in a logger element.<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;"> <logger name="My.Namespace" additivity="false"></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <level value="INFO" /></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> <appender-ref ref="MyAppender" /></span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> </logger></span><br />
<br />
Name the logger after your root namespace. If you want to divide different parts of your application into separate logs, you can drive this by being more specific in your namespace. The level value control what types of messages get written. You can use Debug messages in your classes, and only show this information if you set level to DEBUG. INFO is the normal setting, which also shows FATAL, ERROR, and WARNING messages, as well as Sitecore's custom AUDIT message.<br />
<br />
3. Write messages using Sitecore's log class, passing a reference to the current object.<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">Log.Info("Your message", this);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Log.Debug("Your message", this);</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Log.Error(exception, this); </span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Log.Audit("Your message", this);</span><br />
<br />
The Log.Debug message will only show up if logging is set to DEBUG, which makes this setting ideal for detailed instrumentation. In addition, AUDIT captures information about who performed the action, writing the results as an INFO messages with the domain and username of the user performing the action.<br />
<br />
A few additional notes:<br />
1. With Sitecore 8.1, the Log4Net section is moved inside the <sitecore> configuration node, which means it can be added to using Sitecore App_Config/Include patch config files.<br />
2. You can have several loggers point to the same appender, which might allow you to group your info with that of a specific Sitecore namespace, of to run part of your application with DEBUG logging, and the rest with INFO logging.<br />
3. Sitecore Log Analyzer is a great tool for working with log data once you've collected it. For example, it allows you to view just errors, or just one kind of error.<br />
4. Log4Net <a href="https://logging.apache.org/log4net/release/manual/internals.html" target="_blank">documentation </a>recommends checking if a log message is enabled before writing to it, to save on milliseconds of processing time for creating the string message (e.g. for concatenating a string). This is no longer possible with Sitecore's wrapper around log4net, as Log.IsDebugEnabled(), for example, is a static method, so there is no way to examine the level setting for a given namespace.<br />
<br />
Props to Mark Ursino for blogging about custom log files way back in 2011, and to Kamraz Juman for pointing out the Log.Info("message", this) syntax in the comments. <a href="http://firebreaksice.com/write-to-a-custom-sitecore-log-with-log4net/" target="_blank">http://firebreaksice.com/write-to-a-custom-sitecore-log-with-log4net/ </a>Dan Solovayhttp://www.blogger.com/profile/02204911460102862983noreply@blogger.com0