smoe long text
Čestitam! Blizu ste završetku instalacije Sitecore XC 9.2 installation.
Nekoliko koraka prije kraja instalacije ovaj error se uporno pojavljuje i ne znate što napraviti:

Screenshot RebuildIndexes_RebuildIndex-Core error
Json file Common.RebuildIndexes.json koji se nalazi u instalacijskom folderu SIF->Configuration->Commerce->Comon, ima nekoliko RequestTimeoutpropert-a koji definiraju vrijeme čekanja prije nego li skripta pokuša trenutni korak ponovno izvršiti. Nažalost Vaš OC ili Virtualna mašina nemaju dovoljno vremena izvršiti ovaj korak što izaziva timeout. Povećanjem ovih vrijednosti će te omogućiti instalacijskoj skripti da Vas dulje pričeka i na kraju uspješno završi instalaciju

Moj primjer CommonRebuildIndexesJson

Uspješno završena instalacija nakon produljenja timeout-a
U nekom trenutku vas je sigurno zasmetalo što se konzola na krivom mjestu ili krivom monitoru. Nažalost, konzola ne nudi out of the box rješenje, tako da moramo potražiti alternativu ovom problemu.
Moje se rješenje temelji na korištenju Windows API-ja i Windows Forms-a.a.
Funkcija SetWindowPos se čini kao dobar početak. Pomoću nje možemo postaviti ekran s početnim X i Y osima, širinom, visinom i položajem prozora. Za korištenje ove funkcije postoje dva izazova:
Dobivanje početne x koordinate monitora i dohvaćanje samog ekrana konzole.
Točku x monitora možete lako dobiti pomoću WinForms System.Windows.Forms.Screen.AllScreens property-a, koje pohranjuje sve informacije vezane uz monitore.
Dobivanje “handle-” prozora Console malo je teže. Prvo moramo koristiti funkciju GetConsoleWindow i proslijediti funkciju pointeru, a zatim ga proslijediti SetWindowPos funkciji.
SetWindowPos ne može maksimizirati zaslon (možemo konzolu proširiti da zauzme maksimalnu širinu i visinu ekrana ali state i dalje ne bi bio “Maximized”). Za to možemo iskoristiti funkciju ShowWindow kojoj prosljeđujemo prozor konzole i željeni state.
To bi bilo sve za ovaj kratki vodič, a code sample prikazan u nastavku.
Sretno kodiranje!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
using System; using System.Runtime.InteropServices; using System.Windows.Forms; namespace ConsoleApp { class Program { //https://docs.microsoft.com/en-us/windows/console/getconsolewindow [DllImport("kernel32.dll", ExactSpelling = true)] private static extern IntPtr GetConsoleWindow(); private static readonly IntPtr MyConsoleWindow = GetConsoleWindow(); //https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos [DllImport("user32.dll", EntryPoint = "SetWindowPos")] public static extern IntPtr SetWindowPos(IntPtr hWnd, int hWndInsertAfter, int x, int y, int cx, int cy, int wFlags); //https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-showwindow [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)] private static extern bool ShowWindow(IntPtr hWnd, int nCmdShow); static void Main(string[] args) { Console.WriteLine("Hello monitor!"); int monitorNumber = 2; OpenConsoleWindowOnAnotherScreen(monitorNumber, 400, 200); //Changes console windows state ShowWindow(MyConsoleWindow, (int)WindowState.Maximized); Console.ReadLine(); } private static void OpenConsoleWindowOnAnotherScreen(int monitorNumber, int width, int height) { Console.WriteLine($"Hello from monitor {monitorNumber}."); if (monitorNumber > 1) { if (Screen.AllScreens.Length < monitorNumber) { Console.WriteLine("There is no such window."); } else { // Array is zero based monitorNumber--; // Gets selected monitor // first monitors x axis starts from 0 and ends with its resolution width, // so we need to find out where on x axis n monitor starts var monitor = Screen.AllScreens[monitorNumber].WorkingArea; // Changes window position to the desired monitor // SetWindowPos cannot change monitor state // Setting correct width and height of Window is not necessary if wFlags is set to 1, // try experimenting with wFlags value by visiting https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-setwindowpos // and experimenting with uFlags values // for further experimentation try changing x an y parameters to position console to your choosing on the screen SetWindowPos( MyConsoleWindow, 0, monitor.Left, monitor.Top, width, height, 0); } } else { Console.WriteLine("No need to change console window to another screen."); } } } public enum WindowState { Hidden = 0, Maximized = 3, Minimized = 6, Restored = 9 } } |
Nekada čovjek zaboravi kako dodati Standard values template-u a ovaj kratki tutorial je tu kako bi brzo demonstrirao tu radnju.
Odite do vašeg Template-a, u ribbonu kliknite na Options tab a zatim na Standard Values botun kao što je prikazano na screenshotu.
Nakon klika na Standard values botun, u Sitecore tree-u se ispod Vašeg template-a pojavljuje novi item __Standard values:
Sada možete dodati defaultne vrijednosti fieldovima ili postaviti defaultne Presentation Details-e.
© 2021 LearnC#WithDarko
Theme by Anders Noren — Up ↑