{"id":4905,"date":"2012-10-02T05:00:00","date_gmt":"2012-10-02T13:00:00","guid":{"rendered":"http:\/\/www.sapien.com\/blog\/?p=4905"},"modified":"2012-10-01T10:00:41","modified_gmt":"2012-10-01T18:00:41","slug":"lost-the-forgotten-features","status":"publish","type":"post","link":"https:\/\/dev.sapien.com\/blog\/2012\/10\/02\/lost-the-forgotten-features\/","title":{"rendered":"LOST! The forgotten features"},"content":{"rendered":"<p>A week ago I was hanging out with PowerShell trainer extraordinaire <a href=\"http:\/\/www.interfacett.com\/instructors\/jason-helmick\">Jason Helmick<\/a> and while we where geeking out over PowerShell tricks and software features (yes, I know, bad, isn\u2019t it?) I asked him how he would improve file groups.<\/p>\n<p>(\u2026)<\/p>\n<p>(crickets) <\/p>\n<p>(\u2026)<\/p>\n<p>File groups?<\/p>\n<p>So I demonstrated. I learned some time ago that most admins don\u2019t like to use projects. Which isn\u2019t really a surprise as most scripts used to be a single file affair. So anything that deals with projects was considered a \u201cdeveloper\u201d feature.<br \/>But there was the occasional script that used multiple files or some txt, inf or log files to support the script. In order to allow these files to be opened together we added a feature called file groups to PrimalScript a few years ago.<\/p>\n<p>It\u2019s really quite simple:<\/p>\n<p><a href=\"http:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2012\/10\/image.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2012\/10\/image_thumb.png\" width=\"644\" height=\"477\"><\/a><\/p>\n<p>Say you have four PowerShell scripts open that call each other. Now click on the File Tab and select \u201cSave open files as group\u2026\u201d<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2012\/10\/image1.png\" width=\"224\" height=\"341\"> <\/p>\n<p>Save the file to some location where it\u2019s easy to get to, for example your desktop:<\/p>\n<p><a href=\"http:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2012\/10\/SNAGHTML11ca929b.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"SNAGHTML11ca929b\" border=\"0\" alt=\"SNAGHTML11ca929b\" src=\"http:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2012\/10\/SNAGHTML11ca929b_thumb.png\" width=\"644\" height=\"407\"><\/a><\/p>\n<p>Now close PrimalScript. Simply double click on that file and in no time flat these files that belong to each other are opened again.<\/p>\n<p>Think PowerShell modules, the test script, the module itself, the manifest and the help xml, all opened with one double click as they go together.<\/p>\n<p>If you look at the filegroup file itself, it\u2019s no secret binary format, just a text file with the file names one by one, each in its own line.<\/p>\n<p><a href=\"http:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2012\/10\/image2.png\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/www.sapien.com\/blog\/wp-content\/uploads\/2012\/10\/image_thumb1.png\" width=\"644\" height=\"271\"><\/a> <\/p>\n<p>Jason thought it was ideal to use for module development, so give it a try. Tell me what you think.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A week ago I was hanging out with PowerShell trainer extraordinaire Jason Helmick and while we where geeking out over PowerShell tricks and software features (yes, I know, bad, isn\u2019t it?) I asked him how he would improve file groups. (\u2026) (crickets) (\u2026) File groups? So I demonstrated. I learned some time ago that most [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[27,283,410,21],"tags":[766,726,551,28,37,767],"class_list":["post-4905","post","type-post","status-publish","format-standard","hentry","category-ask-the-experts","category-howto","category-primalscript-software-news","category-software-news","tag-file-groups","tag-jason-helmick","tag-modules","tag-powershell","tag-primalscript","tag-projects"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/4905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/comments?post=4905"}],"version-history":[{"count":3,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/4905\/revisions"}],"predecessor-version":[{"id":4909,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/posts\/4905\/revisions\/4909"}],"wp:attachment":[{"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/media?parent=4905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/categories?post=4905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev.sapien.com\/blog\/wp-json\/wp\/v2\/tags?post=4905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}