Azure WebApps/AppService: Editace souborů přímo z UI portálu

App Service služba používá pro uložení a sdílení souborů mezi více instancemi serverů Azure Storage Blobs, všechny servery tedy jsou nasměrovány do stejného umístění – pokud tedy aktualizujete nějaký soubor, není nutné tu stejnou operaci provádět pro všechny instance.

Editaci přímo z UI portálu je možné provádět pomocí:

  1. WebMatrix – desktop aplikace, která umožňuje stáhnout celý obsah na klienta a publikovat zpět změny, nebo přímo editovat soubory na serveru – není špatné, ale musí instalovat a dnes je v podstatě po smrti, nástupcem je Visual Studio Code
  2. Kudu (Advanced Tools) – MS zpřístupnil na Githubu jako open source, nachází se v menu App Service pod názvem Advanced Tools

    Kde lze následně přes menu Debug console a CMD nebo PowerShell listovat strukturou webu a otevřít jednotlivé soubory pro editaci
  3. App Service Editor – zatím je pouze v preview, ale určitě je to nejlepší cesta, je hned pod Advanced Tools

    Aplikace se spustí v novém okně, je to takové „lite“ Visual Studio s podporou GITu, konzole, vyhledáváním, …. Nikdo od toho asi nečeká náhradu za VS, na rychlé hotfixy ale skvělé!

Namapování české HW klávesnice v Android TV (strasti Sony Bravia KD-55XD8005 55″)

Nepřišel jsem zatím na způsob jak přidat dvě klávesnice a přepínat je mezi sebou nějakou klávesovou zkratkou, pomocí aplikace RS – Hardware Keyboard Layouts se mi alespoň podařilo přidat českou klávesnici,  na výběr je dokonce qwerty i qwertz rozložení.

Google sice u verze Android TV číslo 7.x, ale stále je to spíše hodně nedotažení beta verze, jestli se MS stydí za AppStore ve WIN, tak toto je ještě o x řádů horší, na výběr je asi 10 aplikací, z toho 5 azbukou nebo nevím co to je 🙂 O rychlosti samotného OS ani radši nemluvit, škoda že tam Sony nedalo výkonnější CPU, pozitivum je CI na SAT a všechno ALL-IN, podpora HDMI CEC (i když s hlasitostí podivná). Nyní z nějakého důvodu zmizel Chromecast a zařízení na síti TV nevidí, restart klasicky Android většinou zachrání. Je více než jasné, že Google musí přijít s nějakým jiným OS, nezaloženým na Javě, ani na síťovém napájení to není schopno běžet jak by člověk čekal, natož na telefonu.

Deaktivace náhledů aplikací v hlavním panelu (taskbar) ve Windows 10

Deaktivace často otravných náhledů aplikací v taskbaru je možná pouze přes registry

Deaktivace lze tedy provést spuštěním regedit.exe a v cestě Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced vytvořte DWORD klíč ExtendedUIHoverTime s hodnotou počet sekund * 1000, v případě hodnoty 10000 se tak náhled zobrazí až po 10 sekundách od najetí myši, tedy neprudí při náhodném přejetí…

BTW, Editor registrů (regedit.exe) má po asi 20 letech novou funkci! Zadání celé cesty! #Win10

Editor registrů (regedit.exe) má po asi 20 letech novou funkci! Zadání celé cesty! #Win10

Myslel jsem si, že jsem si toho jenom dříve nevšimnul, ale opravdu je to nová funkce až ve Windows 10 🙂

Nyní je možné zadat celou cestu, například Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced přímo do textboxu pod menu a automaticky se dostanete do zadané větve, hurá!

SQL Server: zobrazení počtu řádků a velikosti jednotlivých tabulek v KB přes všechny tabulky databáze #v2

SELECT SCHEMA_NAME(sysTab.SCHEMA_ID) AS SchemaName,
       sysTab.NAME AS TableName,
       parti.rows AS RowCounts,
       SUM(alloUni.total_pages) * 8 AS TotalSpaceKB,
       SUM(alloUni.used_pages) * 8 AS UsedSpaceKB,
       (SUM(alloUni.total_pages) - SUM(alloUni.used_pages)) * 8 AS UnusedSpaceKB
FROM sys.tables sysTab
INNER JOIN sys.indexes ind ON sysTab.OBJECT_ID = ind.OBJECT_ID
AND ind.Index_ID<=1
INNER JOIN sys.partitions parti ON ind.OBJECT_ID = parti.OBJECT_ID
AND ind.index_id = parti.index_id
INNER JOIN sys.allocation_units alloUni ON parti.partition_id = alloUni.container_id
WHERE sysTab.is_ms_shipped = 0
  AND ind.OBJECT_ID > 255
  AND parti.rows>0
GROUP BY sysTab.Name,
         parti.Rows,
         sysTab.SCHEMA_ID
ORDER BY parti.rows DESC

 

SharePoint: Výpis všech workflow v chybovém stavu přes celou obsahovou databázi

SELECT         dbo.WorkflowAssociation.Id AS AssociationID, dbo.Workflow.InternalState, dbo.Workflow.Status1, dbo.Workflow.Created AS Started, dbo.Workflow.TemplateId, dbo.Lists.tp_Title AS ListTitle, dbo.AllUserData.nvarchar1 as ItemTitle,
                          dbo.Webs.Title AS WebTitle, dbo.Webs.FullUrl AS WebUrl, dbo.Workflow.SiteId, dbo.Workflow.WebId, dbo.Workflow.ListId, dbo.Workflow.ItemId, 
                         dbo.Workflow.ItemGUID, dbo.AllUserData.tp_GUID
FROM            dbo.AllUserData RIGHT OUTER JOIN
                         dbo.Workflow ON dbo.AllUserData.tp_GUID = dbo.Workflow.ItemGUID LEFT OUTER JOIN
                         dbo.Sites RIGHT OUTER JOIN
                         dbo.WorkflowAssociation ON dbo.Sites.Id = dbo.WorkflowAssociation.SiteId LEFT OUTER JOIN
                         dbo.Webs ON dbo.WorkflowAssociation.WebId = dbo.Webs.Id LEFT OUTER JOIN
                         dbo.Lists ON dbo.WorkflowAssociation.ListId = dbo.Lists.tp_ID ON dbo.Workflow.TemplateId = dbo.WorkflowAssociation.Id
WHERE        (dbo.Workflow.Status1 = 1 OR
                         dbo.Workflow.Status1 = 3 OR
                         dbo.Workflow.Status1 = 6 OR
                         dbo.Workflow.Status1 = 7) AND (dbo.Workflow.ItemId > 0)
ORDER BY Started