Find branches in Plastic "Branch Explorer" - regex

Is it possible to specify in BranchExplorer's search box that I do not want to select "subbranches", but the branch with a given name?
For example I have a branch /main/ver1/ and many subranches /main/ver1/task001, /main/ver1/task002, ...
When I put either /main/ver1 or /main/ver1/ into search box, it jumps over all subranches task001, task002(Which is not useful when I want to diff the latest changeset of branch /main/ver1/task122 with the latest changeset of ver1 base branch or switch workspace to base branch)
In words of regex expressions, I want to see .*/ver1[^/] branch.

From the Branches view:
In that case, click on the "Advanced" button and you will be able to configure your custom queries:
eg:
find branch where name like '%ver1'
find branch where name='task122'
You will find more examples in our "cm find" guide:
http://plasticscm.com/documentation/cmfind/plastic-scm-version-control-query-system-guide.shtml
From the Branch Explorer view:
You can drive to "Filters and conditional format", and enter your custom query
eg: (not including "cm find")
name like '%ver1'
name='task122'
You can play with inclusion, exclusion and format rules.
PD: You can perform diff, update... from both views

Related

Error in trying to redo the example of In-Flight Entertainment System M2DOC

I want to use M2DOC instead of the HTML generation for sharing my Capella model.
I installed m2doc and I generate the word document of the SA layer by doing only "generate documentation" (right click on the "Template SA Complete.genconf" downloaded with m2doc) (see screenshot).
Generate SA documentation
In this way, I have the SA_Complete.docx well generated.
I want to use this template on my project. Thus, firstly I try to recreate a "Template SA Complete.genconf" in the In-Flight Entertainment project :
-right click on the docx template, "Initialize Documentation Configurations"
-variable name : click on "In-Flight Entertainment System.capella"
variable_name
right click on (my) "Template SA Complete.genconf" > "Validate Documentation Template"
And I have some errors...
The first one : '''Couldn't find the 'isRepresentationDescriptionName(EClassifier=Capability,java.lang.String)' service <--- The predicate never evaluates to a boolean type([Nothing(Couldn't find the 'isRepresentationDescriptionName(EClassifier=Capability, java.lang.String)'service)])'''
error_msg
I followed this procedure : https://www.m2doc.org/ref-doc/1.0.0/index.html#initializing-a-generation-configuration
I started from the "beginning" (without doing anything in the template) to check that I was starting on a good basis. but it's probably not the case... Why? Thank you
You need to check that the option SiriusSession is referencing the .aird file in your Capella project. You should use the relative path to the .aird file. Once the SiriusSession is properly deined, Sirius services will be available.
You can use existing .genconf files in the IFE example to see how the configuration is done.

AWS console search in array

I am looking for a string that I can paste into AWS search(searching volumes for example) in browser so I can look for volume names/id's either like "foo" or like "bar", so in essence "if in array" type of search.
I tried multiple approaches and fail on every one. Only thing that I can do is paste my string, hit enter, paste another one, hit enter, its feasible for 2 strings but not for 10.
TL;DR: \bFOO|\bBAR
If you click the "?" button in the search field (at least in EC2) you get a "search help" view describing advanced usages of the search bar:
This help page shows that you can use regular expressions. This one should work for your use case: \bFOO|\bBAR
Help window screenshot for reference:

Relative path as source for droplink or droplist?

I'm trying to specify a relative path for the source of a droplink/dropsource.
Specifically, I have a folder structure where I have an Authors folder under a certain branch. On the same level of that Authors folder, there can be items or folders with items that will have a droplist that could point to that Authors folder for it's source. The issue though is that this is going to be repeated for multiple clients, so I don't want to have to manually specify the source directory in each case but rather just have a relative source that says basically find the closest Authors folder to me (sibling, aunt/uncle, great aunt/uncle, etc.). Any way to do this? Do I need to use Sitecore query syntax for this?
Yes this is possible with a query.
In the Source field of your droplink Template field set something like:
query:./ancestor-or-self::*[##templatename='yoursitesite']/home/*
or
query:../*
Depend on your exact structure, or template names.
See:
For SXA, see use-a-query-to-determine-the-data-source-context
More explanation sitecore-field-source-as-xpath-query-or-fastquery-cheat-sheet/

What would be the SQL script to generate Sitecore Broken Link Report

I'm helping our Editors to clean up broken links and have been looking for answers to the following:
The Broken Link Report cannot be exported or sorted so it's not very useful (we have many broken links ~2000). Is there a SQL script that I can run to create the same report?
If an Editor fix a link, Rerun the report doesn't seem to take the item off the report. Does she have to Rebuild Link Database every time?
The Links button in the menu is helpful, but it is listing All Versions of referrers. Is there a SQL script to find only the lastest version?
When delete or archive an item and let Sitecore remove broke links, will all the affected items be published?
We are dealing with a large report (~2000 items) due to not maintaining it diligently. The goal is to reduce the number to 100~200 and keep it under control from now on. Any general advice on how to clean up broken links report is appreciated.
For your first (and partly third) questions:
In the Core database you can check what gets executed on the click of the Broken Link Report (the item that defines it is located in : /sitecore/content/Documents and settings/All users/Start menu/Right/Reporting Tools/Scan for Broken Links.
The application that gets started is /Applications/Tools/Broken Links.aspx, so if we look at *webroot*/sitecore/shell/Applications/Tools/Broken Links/Broken links.xml, we can see that the code used for it is Sitecore.Shell.Applications.Tools.BrokenLinks.BrokenLinksForm in the Sitecore.Client assembly.
Using Reflector you can see what it's executing. For your requirements, what I would say would be the easiest is to create your own version of the BrokenLinksForm, possibly simply adding an export functionality on it, or modify the code so it only takes the latest version. From looking at it very quickly I think the code to change (which is actually in the nested Scanner class) is:
...
foreach (ItemLink link in Globals.LinkDatabase.GetBrokenLinks(database))
{
list.Add(link);
}
...
You could possibly check whether the link item is the latest version, possibly by using something like
...
var version = link.GetSourceItem();
if (version.Versions.GetLatestVersion().Version == link.SourceItemVersion)
{
list.Add(link);
}
...
While you're at it you could of course also put in some sorting functionality :-)
It doesn't translate 1-on-1 with the Links button in the menu, but it should give you some pointers in the right direction.
As to your 2nd question: I believe that yes, the Link database does need to be rebuilt. I don't know if Sitecore has a schedule set up by default, but you could create your own agent in the <scheduling> node in the web.config to do this after X time.
Your last question: If you delete or archive an item and have Sitecore remove the broken links the affected items will, by default, not be published. If you have an auto-publish set up it'll show up of course.

Find member variable using Locator in Qt Creator

Qt Creator has the Locator box, which allows you to easily find classes, methods, etc. Is there a way to use it to find class member variables, as well?
Using . <expr> will show member variables too, but that is only for searching inside the current file, not globally.
This the Locator:
By default, there is not such feature, but as said in the doc you can create a filter (I can't test it now, but I'll try this soon):
To create a locator filter:
In the locator, select Options > Configure to open the Locator options.
In the Filter Configuration dialog:
Name your filter.
Select at least one directory. The locator searches directories recursively.
Define the file pattern as a comma separated list. For example, to search all .h and .cpp files, enter *.h, *.cpp
Specify the prefix string.
To show only results matching this filter, select Limit to prefix.
Click OK.
QtCreator have no such feature - member variables are not good candidates for pivot points in search. If you want find usages of particular member, use "find symbol usages" (Ctrl+Shift+U when cursor is under symbol). If you want to find members of particular type, use usual search in regular expressions mode, something like:
\w+\s*\*\s*\w+\s*;
And limit scope to headers only (i.e use "*.h" file mask).
Have you tried using the 'Advanced...' option in the locator? You can change the scope of the search to the Current Project, All Projects, Files on the System, etc. I use this to even search for strings I use for debug output in my code.