Atozed Software IntraWeb Ultimate Edition v14.2.0 Retail
IntraWeb supports RAD Studio / Delphi XE2, and in fact is included as a part of RAD Studio / Delphi XE2. If you have RAD Studio / Delphi XE2, you already have IntraWeb XII. RAD Studio 2009, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, 10 Seattle, 10.1 Berlin.
New
- New Debug visualizers for THttpRequest and other IntraWeb internal classes (Delphi 2010 and up)
- New 404 error page. It has the same layout of other IntraWeb standard error pages and can be customized (or replaced) the same way.
- New event IWForm.OnAsyncResize. Allows resize notification just like standard OnResize, however it also allows users to respond to the browser resize through Ajax, like any other async request.
- New security features:
- ServerController.SecurityOptions.PreventDoubleSubmission which prevents a double post, i.e. POST request caused by browser refresh after a previous post request. IntraWeb will identify a browser refresh after a POST and disables the double submission (Cookies are required).
- Method interchange prevention, prevents that parameters sent through URI query string are processed as a POST request.
- New ServerController.OnBeforeNewSession event. This event is triggered just before creating a new session. Users can abort the session creation using it. A standard 404 page will be returned when session creation is aborted.
- New property ServerController.HTMLLanguage. New property TIWApplication.Language (default = ServerController.HTMLLanguage). Different sessions can get diferent Language values. If not specified, English (“en”) is used
- New unit IWClassesFix.pas changes the way Delphi’s fixup resolution works. New IntraWeb fixup resolution is done on a per-thread basis. The new fixup resolution (enabled by default) can be disabled using a new class property DisableFixupPatch in TIWServerController (public, not published thus not visible in Object Inspector). We strongly recommend that this should be enabled in every IntraWeb application.
Bug Fixes
- Cookies expires field could be wrongly set when using ASPX modules (update ASPX binaries only)
- IWDBGrid.RollOver doesn’t work as expected
- TIWButton would not render correct height on MacOS/Safari
- IntraWeb Stand Alone server could fail to detect Firefox
- Async key press event would fail to report some special keys like ESCAPE
Modified
- TIWApplication.Terminate(const aMsg: string) can receive a complete HTML text as parameter.
- Templates allow usage of wildcards (* and ?) in component names. Example: {%IWCheckBox*%} will insert all controls which name start with “IWCheckBox“, found when the template is processed. This includes “IWCheckBox1“, “IWCheckBox2“, “IWCheckBoxABCD“. This makes easy for users to include components created at runtime.
- Classes.GlobalNameSpace lock used in RTL (based on slow and possibly buggy TMultiReadExclusiveWriteSynchronizer) was replaced by a faster and more reliable lock based on TCriticalSection.
- All locks based on TMultiReadExclusiveWriteSynchronizer or TMonitor were replaced by more reliable versions based on TCriticalSection.
- Custom IW data containers replace TList, TObjectList and TStringList in several places within IntraWeb code. TList is deprecated in Delphi 10.2. The generic version TList<T> is slow and consumes lots of memory. The new custom classes use less memory and are much faster.
- New version of ASPX binaries. If you are using ASPX deployment, replace the old binaries.
- IntraWeb Setup allows user to run IW Bundled Removal tool when setup is complete.
- Dozens of other small fixes and improvements.
IntraWeb از RAD Studio/ Delphi XE2 پشتیبانی می کند و در واقع به عنوان بخشی از آن ها محسوب می شود. در صورتی که RAD Studio/ Delphi XE2 را در اختیار داشته باشید، IntraWeb XII را نیز خواهید داشت.
قابلیت های جدید در نسخه 14.2.0:
موارد جدید
- دارای Debug visualizer برای THttpRequest و دیگر کلاس های داخلی (Delphi 2010 و بالاتر)
- صفحه خطای 404 جدید: این صفحه دارای لی آوتی مشابه با صفحات خطای استاندارد IntraWeb دارد و به همان شکل نیز قابل تنظیم می باشد.
- رویداد جدید OnAsyncResize امکان تغییر سایز نوتیفیکیشن را همانند OnResize فراهم می سازد اما به کاربر نیز اجازه می دهد از طریق Ajax به تغییر سایز مرورگر پاسخ دهند.
- قابلیت های امنیتی جدید:
- SecurityOptions.PreventDoubleSubmission از پست دوجانبه جلوگیری می کند، یعنی درخواست پست که توسط مرورگر صورت می گیرد پس از درخواست پست قبل تازه سازی می شود. IntraWeb پس از یک پست می تواند تازه سازی مرورگر را شناسایی کرده و از ارائه مجدد جلوگیری می کند (در این مورد به کوکی ها نیاز است).
- جلوگیری از مبادله متد که مانع از پردازش پارامترهای ارسالی از طریق رشته کوئری URL به عنوان درخواست پست می گردد.
- رویداد جدید OnBeforeNewSession: این رویداد درست قبل از ایجاد نشست جدید فعال می شود. کاربران می توانند با استفاده از آن مانع ایجاد نشست شوند. هنگامی که از ایجاد نشست جلوگیری شود یک صفحه استاندارد 404 بازگردانده می شود.
- پراپرتی جدید HTMLLanguage و IWApplication.Language: نشست ها می توانند مقادیر متفاوتی برای language داشته باشند. در صورتی که این مقدار تعیین نشده باشد زبان en مورد استفاده قرار می گیرد.
- واحد جدید pas نحوه کار تفکیک fixup resolution دلفی را تغییر داده است. IntraWeb fixup resolution جدید برای هر ترد به صورت جداگانه انجام می شود. fixup resolution جدید که به صورت پیش فرض فعال است هنگام استفاده از پراپرتی کلاس جدید DisableFixupPatch در TIWServerController قابلیت غیر فعال سازی دارد. ما توصیه می کنیم آن را در تمام اپلیکیشن های IntraWeb فعال کنید.
باگ های رفع شده
- فیلد Cookies expires هنگام استفاده از ASPX ممکن است به طور اشتباه ست شوند.
- RollOver طبق انتظار عمل نمی کند.
- TIWButton ارتفاع صحیح را در MacOS/Safari رندر نمی کند.
- سرور IntraWeb Stand Alone برخی اوقات توانایی شناسایی فایرفاکس را ندارد
- رویداد key press ناهمزمان توانایی گزارش برخی از کلیدهای خاص همچون ESCAPE را ندارد.
تغییرات:
- Terminate می تواند متن HTML کامل را به عنوان پارامتر دریافت کند.
- قالب ها امکان استفاده از wildcard ها (* و ?) را در نام کامپوننت های خود دارند.
- قفل GlobalNameSpace که در RTL مورد استفاده قرار گرفته بود با قفل سریع تر و قابل اطمینان تر مبتنی بر TCriticalSection تعویض شد.
- تمام قفل های مبتنی بر TMultiReadExclusiveWriteSynchronizer یا TMonitor با نسخه های سریع تر و قابل اطمینان تر مبتنی بر TCriticalSection تعویض شدند.
- محفظه داده های IW سفارشی در نقاط مختلفی از کد IntraWeb با TList، TObjectList و TStringList تعویض شدند.
- نسخه جدید باینری های ASPX: در صورتی که شما از پیاده سازی ASPX استفاده می کنید، باینری های قدیم را تعویض کنید.
- IntraWeb Setup به کاربران اجازه می دهد ابزار IW Bundled Removal را در پایان نصب اجرا کنند.