Як я не опублікував додаток в Autodesk Apps Exchange

Історично так склалося, що я досить давно є адміністратором PDM системи Autodesk Vault. Крім того, регулярно проводжу навчання з використання та адміністрування цього програмного продукту.
 
Зважаючи описаних вище причин доводилося здійснювати досить багато установок «з нуля». У попередніх версіях (2010-2014) навіть для досвідченого користувача задача, скажемо чесно, марудна. Так як в базовій комплектації система базується мінімум на MS SQL Server і IIS: необхідно враховувати і нейтралізовувати різного роду особливості, які можуть виникнути при установці.
 
Після приблизно десяту ітерації установки вже можеш наосліп пробігтися з налагодження Windows, IIS і SQL. Відразу обмовлюся, що використання віртуальної машини не підходило з причини того, що кожного разу установку доводилося здійснювати на новому залізі, яким мав замовник. Отже, графічний інтерфейс — це добре, але метод явно не наш, так як складно забезпечити належну швидкість, повторюваність і автоматизацію.
 
Зокрема, перед установкою необхідно забезпечити ряд умов . Нижче наведу ті, з якими доводилося возитися при кожній установці:
 
     
  • ASP Status Check
  •  
  • Reboot Check
  •  
  • Disable User Access Control (UAC)
  •  
  • Check IIS DotNet Interoperability
  •  
  • Check Status of User Access Control
  •  
  • IIS Default Port Check
  •  
  • IIS Timeout Check
  •  
  • File and Print Sharing Check
  •  
Тут і народилася ідея автоматизації підготовки грунту до установки за допомогою програмної утиліти адміністратора. Скрипти PowerShell відмінно справлялися з поставленим завданням, для зручності вони зберігалися і налагоджували в PowerGUI. Однак незабаром стало ясно, що новий користувач повинен:
 
     
  • Забезпечити наявність PowerShell на системі;
  •  
  • Вміти скільки-з ним працювати.
  •  
Так було вирішено все цю «автоматизацію на коліні» сховати в додаток C #. Благо, приклади рішень дотримання описаних вище умов шукалися настільки ж легко, як і для PowerShell.
 
Інтерфейс вийшов простенький, дерев'яний, але мене цілком влаштовує.
 
 
 
Людям з міцними нервами ласкаво просимо на GitHub .
Сформував і відправив «комплект публікації» для Apps Exchange . Після тижня прийшла відповідь:
 
 
Wanted to let you know, we are still reviewing the zippy installer submission, I am having the server support team look at this to ensure it does not cause any issues with our installer logic.
 
Так, приймати рішення з розгляду додатки було не в компетенції даного менеджера, і він передав додаток команді розробників, яка займалася установкою.
 
Трохи згодом прийшло таке повідомлення:
 
 
Good timing, I heard back this morning from the installer team — they as I suspected are a little concerned — over the years we have spent a lot of effort stabilizing our install process (pre-checks etc) so there would be concern if we created issues with an app from our store. Having said that they looked at the detail and provided the following:
    
 
 
    
    
    
  
  Функція додатки
  
  Відповідь групи установників
  
 UAC state — Button shows current User Access Control (UAC) state by text and color. Click to switch UAC state on whole OS. Requires administrator's privilege.
  
 Vault no longer requires to switch off UAC. In fact, UAC can't be switched off in windows 8/8.1/2012, it can be brought to minimum level but can't be switched off unless user modifies the registry values.
  
 Install Vault-related IIS features — Performs installation of all Vault-required IIS features (IIS Metabase and IIS 6 configuration compatibility; IIS Management Console;. NET Extensibility; ASP.NET ; ISAPI Extensions; ISAPI Filters; Default Document; Directory Browsing; HTTP Errors; Static Content; HTTP Logging; Request Monitor; Static Content Compression; Request Filtering)
  
 Not sure, if this is doing anything with Default Website / default app pool. Vault server has stopped using default website, it might create problems for existing applications using default website.
  
 Re-register ASP. Net filters — Updates registration of ASP. Net filters for x86 and x64 platforms.
  
 ASP. Net filter can't be registered if user doesn't have required. Net installed. Not sure, if this will install if required. Net version is missing.
  
Let me know your thoughts, but I'm not sure this one should be posted. It can be a complicated area and VERY hard for us to test all the repercussions.
 
 
Загалом, я зрозумів, що не те щоб л & хан * всь, але точно поліз майже з порадами куди не треба. Так як відступати було вже нікуди, вирішив хоч якось спробувати вигребти:
 
 
I foresaw their's concern. Anytime, I have some more explanations:
    
 
  
     
     
     
  
  Функція додатки
  
  Відповідь групи установників
  
  Спроба вигребти
  
 UAC state — Button shows current User Access Control (UAC) state by text and color. Click to switch UAC state on whole OS. Requires administrator's privilege.
  
 Vault no longer requires to switch off UAC. In fact, UAC can't be switched off in windows 8/8.1/2012, it can be brought to minimum level but can't be switched off unless user modifies the registry values.
  
 I've added this feature for all that good people that have to deal with old software. Meanwhile I can also add pre-check of OS version — this will enable this option in certain OS only.
  
 Install Vault-related IIS features — Performs installation of all Vault-required IIS features (IIS Metabase and IIS 6 configuration compatibility; IIS Management Console;. NET Extensibility; ASP.NET ; ISAPI Extensions; ISAPI Filters; Default Document; Directory Browsing; HTTP Errors; Static Content; HTTP Logging; Request Monitor; Static Content Compression; Request Filtering)
  
 Not sure, if this is doing anything with Default Website / default app pool. Vault server has stopped using default website, it might create problems for existing applications using default website.
  
 In my latest version I already have a pre-check of already installed features. If installation stops already running Websites / app pools, I could save running state state before installation and launch all stopped apps if they took place.
  
 Re-register ASP. Net filters — Updates registration of ASP. Net filters for x86 and x64 platforms.
  
 ASP. Net filter can't be registered if user doesn't have required. Net installed. Not sure, if this will install if required. Net version is missing.
  
 If so I could recommend users to start this app right before pre-check — when setup is already started.
  
If your staff is interested, I could provide source code or just algorithms that describes workflows of my app.
 
 
Як і очікувалося, врятувати ситуацію «Не шмогла». Відповідь менеджера:
 
 
Understood. I find myself having some general discomfort with the tool — I guess, my expectation is that if you cannot do all of the things your app does or do not have a set of modified conditions in your environment you probably shouldn't be installing Vault Server 
 
У сухому залишку:
 
     
  • черговий досвід публікації
  •  
  • функціонал додатка такої спрямованості заздалегідь продумати було неможливо — його можна було узгодити лише «боєм»
  •  
  • користувачеві все одно необхідно було знати особливості установки — додаток тільки прискорювало процес там, де можливо
  •  
Користуючись нагодою, хочу передати привіт своїй коханій дружині і дізнатися у аудиторії, які статті були б цікаві ще:
 
     
  • CAD і PDM, які використовувалися при розробці / монтажі Великого адронного коллайдера
  •  
  • Консоль на PowerShell для роботи з Autodesk Vault
  •  

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.