Release i-systems core 4.6

Wymagania właścicieli systemów sprzeda online stale się zmieniają. Powstają coraz to nowe funkcjonalności, mające za zadanie zwiększyć sprzedaż oraz efektywność działań wewnętrznych i zewnętrznych przedsiębiorstwa. Z tego względu, i-systems prowadzi regularne aktualizacje bazowej wersji systemu. W odpowiedzi na zmieniające się trendy e-commerce powstał release 4.6.

Moduł Tłumaczeń

Moduł tłumaczeń sklepu internetowego został przeniesiony do panelu administratora, skąd można edytować je pod odpowiedni język. Sposób dodawania nowych oraz edycji aktualnych tłumaczeń został znacznie poprawiony. Raz pobrane tłumaczenie jest przechowywane w pamięci podręcznej, co oszczędza czas i zasoby. Rozwiązanie pomaga także utrzymać kontrolę nad powtórzeniami i wyeliminować konflikty podczas aktualizacji sklepu.

Kalendarz

Moduł Kalendarza został poszerzony o nowe funkcjonalności. Teraz do kalendarzy można dodawać uprawnienia dostępu dla grup i użytkowników. Dodano również możliwość automatycznego tworzenia kalendarzy. Przypominając, Moduł kalendarza jest miejscem gromadzącym wszystkie daty związane z danym użytkownikiem. Mogą się tu znaleźć spotkania z klientami, terminy realizacji poszczególnych zadań, mijające terminy ustosunkowania się do reklamacji. Za pomocą tego modułu można również śledzić urlopy, chorobowe, pracę zdalną, rezerwacje sal konferencyjnych, samochodów służbowych czy sprzętu.

iqsi-screenshot

Inne rozwiązania w ramach release

Ponadto, do modułu polityki rabatowej, dodany został delegat, dzięki któremu naliczona zostanie zniżka za polecenie produktu na serwisie społecznościowym Facebook. Więcej o module polityki rabatowej można przeczytać pod tym linkiem.  

Powstało również nowe rozwiązanie, które umożliwia łączenie wszystkich zamówień klienta pod tym samym adresem e-mail, nawet bez rejestracji w bazie systemu. Zamówienia przypisywane są do jednego konta, a po rejestracji udostępniona jest cała historia zamówień, nawet tych składanych przed założeniem konta.

Release jest aktualizacją bazowej wersji na której opiera się system e-commerce, do której regularnie dodawane są nowe funkcjonalności. Dzięki aktualizacji można rozwijać system i dostosowywać go do zmian zachodzących na rynku. Istnieje również możliwość aktualizowania dedykowanych rozwiązań w ramach kolejnych releasów.



Dowiedz się więcej o aktualizacji systemu



#189 Ceny – jak je ustalać, aby zarabiać?

W każdym biznesie chodzi przecież o to, aby zarabiać. Odpowiednio dobrane ceny do sprzedawanych usług i produktów pomagają budować kapitał, a przede wszystkim tworzyć markę, która może kontynuować swoją działalność. Handlowcy i menadżerowie muszą więc dopasować sposób przedstawienia oferty do swoich klientów. Ich zadaniem jest stworzenie takiego komunikatu sprzedażowego, który przekona kupującego do dokonania transakcji. Jak to zrobić? Przede wszystkim w odpowiedni sposób ustalając cenę produktu oraz dobrze ją przedstawiając.

Partnerem lekcji jest: dddstudio.pl Czytaj dalej

Serwer logów – zastosowanie w e-commerce

Nazwa “serwer logów” zapewne dla wielu osób brzmi dość enigmatycznie. Aby zrozumieć, co oznacza to określenie, trzeba w pierwszej kolejności poznać znaczenie słowa „log”.

Każda z usług, części aplikacji tworzącej system e-commerce, takie jak np. aplikacja sklepu, poszczególne moduły, baza danych, serwer www, serwer pocztowy, czy integracje – generuje logi. Tworzone są one w sposób automatyczny, w kolejności chronologicznej i niezależnie od użytkownika. Zapisywane są w plikach tekstowych opisujących co się stało.

Poszczególne logi mogą mieć także różne stopnie szczegółowości. Pojedynczy wpis może zawierać: informacje o dacie i godzinie dokonania zdarzenia, jego rodzaju, nazwie oraz adresie IP użytkownika, danych o pobieranych plikach, oraz tekstowy opis zdarzenia.

Głównym zastosowaniem logów jest analiza sposobu pracy systemów informatycznych. Pozwalają one na sprawdzenie trybu działania serwera, wykrycie nieprawidłowości w systemie, a także na tworzenie statystyk oraz wykrywanie naruszeń bezpieczeństwa.

Nowoczesny system e-commerce składa się z wielu rozproszonych usług i komponentów znajdujących się fizycznie na różnych serwerach. Pozwala to na skalowanie systemu, jednak niesie za sobą konsekwencje – logi wykonywanych operacji również są rozproszone po wielu serwerach. Analiza jednego problemu jest przez to niezwykle czasochłonna. Serwer logów sprawia, że wszystkie zdarzenia mamy w jednym miejscu z pełnotekstową, zaawansowaną wyszukiwarką i narzędziami do analizy.

serwer

Dzięki takiemu rozwiązaniu, dla każdego systemu istnieje jedna maszyna, która transferuje logi ze wszystkich serwerów oraz udostępnia ujednolicony interfejs do ich przeglądania. Ułatwia to monitoring stanu oraz kondycji systemu. W sytuacji, gdy zachodzi konieczność sprawdzenia lub analizy trybu pracy systemu, zarówno wyszukiwanie informacji, porównywanie ich, jak i tworzenie wykresów zajmuje kilka sekund, ponieważ logi są indeksowane. W przypadku braku serwera logów działania te mogą trwać kilka godzin. Dlatego serwer logów jest częścią nowoczesnej infrastruktury serwerowej, działającej na potrzeby e-commerce.

Wzorzec projektowy – Adapter

Dzisiejszy wpis będzie poświęcony tematyce inżynierii oprogramowania – zostanie opisany wzorzec projektowy Adapter. Zostanie wytłumaczone na czym on polega oraz przedstawione będzie jego zastosowanie w kontekście integracji z systemami ERP.

Adapter – co to jest?

Wzorzec Adapter jest to strukturalny wzorzec projektowy, znany jest również pod nazwą Wrapper (z ang. Opakowanie). Adapter powinien być używany w przypadku, 
gdy wykorzystanie istniejącej klasy jest niemożliwe ze względu na jej niekompatybilny interfejs. Innymi słowy służy do „opakowania” klas bądź bibliotek w taki sposób, 
aby zagwarantować jak największą uniwersalność w całym tworzonym systemie.

Schemat UML wzorca Adapter

Schemat UML wzorca Adapter

Adapter – jak go wykorzystać?

Zwykle adapter jest wykorzystywany w przypadku gdy korzystamy z jakiejś zewnętrznej biblioteki, której użycie jest problematyczne, np. metody zwracają typy które nie są zgodne z modelem aplikacji. Adapter idealnie wtedy nadaje się do opakowania takich metod aby zwracały typy zgodne z modelem. W integracji z systemami ERP używanie wzorca Adapter jest wręcz konieczne. Sposób w jaki jest to realizowane został przedstawiony na Rysunku1. Zazwyczaj korzystamy z gotowych bibliotek firm zewnętrznych, które udostępniają je wraz 
ze swoim systemem ERP. Aby ustandaryzować używanie tych bibliotek konieczne 
jest zastosowanie Adaptera. Tworząc ogólny interfejs udostępniający wymagane do integracji funkcje, np. pobieranie listy produktów, implementujemy go z wykorzystaniem metod udostępnionych przez zewnętrzną bibliotekę. Metody te zwracają dane w swoich zdefiniowanych typach, należy więc użyć ich w taki sposób aby utworzyć obiekty klasy jakie chcemy otrzymać (zdefiniowane w interfejsie). Następnie już tylko wywołujemy metody które udostępnia interfejs. Dzięki takiemu podejściu zagwarantowana jest duża skalowalność – mamy jeden ogólny interfejs który może być implementowany na wiele różnych sposobów 
w zależności od biblioteki – jeśli pojawia się nowy system ERP do integracji, wystarczy zaimplementować interfejs i w odpowiedni sposób opakować funkcjonalności biblioteki.

Podsumowanie

Na koniec kilka słów podsumowania. Adapter nadaje się wszędzie tam, gdzie wykorzystywane są zewnętrze biblioteki. Praktycznie zawsze w takiej sytuacji należy go użyć. Sama implementacja wzorca nie jest skomplikowana, po prostu tworzymy interfejs, który 
ma udostępniać funkcjonalność taką jaką my chcemy mieć. To w jaki sposób ją uzyskać 
z innych klas należy określić w implementacji tego interfejsu.

Autorem tekstu jest Mateusz Łysień.

file_exists » performance

Trywialny temat: porównanie czasu wykonania poszczególnych funkcji sprawdzających dostępność pliku.

Testy zostały przeprowadzone na wersji php:
1

W każdej iteracji funkcja sprawdzała jeden losowy plik spośród 20 tysięcy istniejących. Po każdym wykonaniu funkcji wywoływano funkcję clearstatcache celu opróżnienia cache. Wyniki prezentują się następująco:2

W zestawieniu znalazła się również funkcja stream_resolve_include_path ze względu na http://php.net/file_exists

Warning This function returns FALSE for files inaccessible due to safe mode restrictions. However these files still can be included if they are located in safe_mode_include_dir.

W sytuacji includowania to, że plik istnieje nie oznacza, że jest gotowy do odczytu. Poprawniejszym rozwiązaniem jest wykorzystanie: http://php.net/stream_resolve_include_path

Resolve filename against the include path according to the same rules as fopen()/ include.

Pozostałe wnioski pozostawiam czytelnikom 🙂

Autorem tekstu jest Marek Rode.

#188 Jak szybko i tanio wysłać paczkę?

Na efektywną wysyłkę paczki składa się wiele istotnych elementów. To, jak szybko zostanie ona dostarczona, zależy w dużym stopniu od nadawcy. Dlatego tak ważne jest, aby poprawnie przejść przez wszystkie wymagane etapy wysyłki, od przygotowania paczki, poprzez jej poprawne zaadresowanie, aż do przekazania kurierowi. Dzisiaj pokażemy Wam, na co należy zwrócić szczególną uwagę podczas przygotowywania paczki do wysyłki oraz w jaki sposób przyspieszyć jej drogę do adresata.

Partnerem lekcji jest: sendello.pl
Czytaj dalej

Newsweek i PWC wyróżnia i-systems

Firma i-systems została nagrodzona tytułem „Inicjatora Innowacji”. Gala III edycji konkursu odbyła się 6 czerwca 2017 roku w Centrum Nauki Kopernik w Warszawie. Organizatorem przedsięwzięcia jest tygodnik Newsweek Polska, a partnerem merytorycznym – globalna firma audytorska i doradcza PWC.

Celem wydarzenia było wyróżnienie przedsiębiorstw, dla których innowacyjność jest motorem działania. Konkurs składał się z dwóch etapów, podczas których jury oceniało zarówno osiągnięty sukces rynkowy, wewnętrzne zarządzanie innowacją, jak i wdrożone, innowacyjne rozwiązania.

Zawsze chcieliśmy, żeby zakupy poprzez internet były czymś naturalnym, ale i przyjemnym. Kilka lat temu zdecydowaliśmy, że wszystkie rozwiązania będziemy tworzyć sami. Dlatego Inicjator Innowacji to dla nas szczególne wyróżnienie, które pokazuje, że podążamy w dobrym kierunku – stwierdza Paweł Szewczyk, CMO i-systems.

Inicjator Innowacji

Zdjęcie podczas gali laureatów konkursu Inicjator Innowacji 2017

Kapituła konkursu doceniła w i-systems prężnie działający dział Badań i Rozwoju, który tworzy pionierskie rozwiązania e-commerce, mając tym samym realny wpływ na rozwój sprzedaży online – nie tylko w Polsce, ale również poza granicami kraju.

Nagroda Inicjator Innowacji 2017 przyznana była w trzech kategoriach: duże przedsiębiorstwa, małe i średnie przedsiębiorstwa oraz start – upy. Laureatem pierwszej kategorii został Alior Bank, natomiast w kategorii start-up kapituła konkursu przyznała dodatkowo trzy wyróżnienia. Wyróżnione firmy to: Smart Fluid, mReh oraz Hector24. Laureatem kategorii start-up została firma IDN InDaHash Media Limited. Ponadto, Business Insider, patron medialny wydarzenia, przyznał nagrodę specjalną firmie G2A.

Poznaj Case Studies e-commerce

Nabór na kurs „Wakacje z programowaniem” rozpoczęty

Na przełomie lipca i sierpnia, rozpocznie się wakacyjny kurs programowania. Przez dwa tygodnie uczestnicy zdobędą wiedzę i umiejętności praktyczne z wybranych przez siebie tematów. Kurs skierowany jest do osób z podstawową wiedzą z zakresu programowania. Prowadzącymi są programiści pracujący na co dzień w i-systems. Cykl spotkań zakończy się otrzymaniem certyfikatu, a na najlepszych czeka praca w naszej firmie!

Termin i lokalizacja:

24.07. – 06.08.2017 (pn.-czw., w godzinach: 9-13, odbędzie się 8 spotkań)
Gliwice, ul. Bojkowska 47,  siedziba i-systems

Prowadzący:

Adam – programista PHP, od 2 lat pracujący komercyjnie, specjalizuje się w optymalizacji aplikacji

Łukasz – programista z 7-letnim stażem, specjalista w dziedzinie wzorców projektowych oraz testowania oprogramowania

Korneliusz – programista PHP z 9-letnim stażem, specjalizuje się w algorytmach, optymalizacji oraz integracji sklepów

Konrad – szef działu IT w i-systems, od 2 lat zarządza zespołem i projektami w IT

Tomek – programista PHP oraz Team Leader, w zawodzie od 5 lat, specjalizuje się w analizie i penetracji kodu oraz integracji z systemami zewnętrznymi

Korzyści z udziału w kursie:

  • Możliwość pracy w i-systems dla najlepszych uczestników
  • Zdobycie praktycznych umiejętności w zakresie podstaw programowania
  • Uzyskanie certyfikatu ukończenia kursu
  • Poznanie specyfiki pracy w IT
  • Wymiana wiedzy z innymi uczestnikami kursu
  • Nauka w kameralnym gronie i przyjaznej atmosferze

Kryteria wyboru uczestników i proces rekrutacji:

Stawiamy na osoby chętne, zdeterminowane i zainteresowane zdobyciem praktycznych umiejętności. Zależy nam na uczestnikach, dla których programowanie to pasja. Co musisz zrobić?

1. Przeczytaj ogłoszenie o naborze na kurs: na stronie kariery i-systems
2. Wyślij do nas CV i list motywacyjny, w którym opiszesz / zakodujesz / narysujesz „dlaczego Ty powinieneś wziąć udział w kursie?”. Termin nadsyłania zgłoszeń: 26.06.2017 r.
3. Odbierz telefon z działu rekrutacji i umów się na spotkanie w sprawie kursu
4. Wybierz 8 interesujących Cię zagadnień z listy 14 proponowanych tematów
5. Przyjdź na kurs 24 lipca 2017 r.

Proponowana tematyka kursu*:

1. Optymalizacja, wyszukiwanie wąskich gardeł w kodzie PHP
2. MySQL
3. Wzorce projektowe
4. Testy jednostkowe
5. Zarządzanie wersjami / composer
6. Debuging
7. Webservice
8. SPL
9. Domain driven design
10. Programowanie obiektowe
11. SOLID
12. Hello world
13. IDE
14. SOLR

* osoby wybrane do wzięcia udziału w kursie wybiorą 8 tematów, które będa opracowywane na kursie

#187 Upcycling – drugie życie opakowania

O opakowaniach i ich wpływie na customer experience pisaliśmy całkiem niedawno. Personalizacja pudełek, taśmy klejącej, czy też wrzuconych do paczki ulotek i folderów to naprawdę sympatyczny drobiazg, który sprawia, że klient czuje się „dopieszczony”. Czy istnieje jednak coś jeszcze, co może sprawić, że nasze opakowanie pozostanie z klientem na dłużej i dzięki temu będziemy cały czas istnieć w jego pamięci? Okazuje się, że tak. Na pomoc przychodzi upcycling.

Partnerem lekcji jest: DDDStudio
Czytaj dalej

Nowa era rozwiązań B2B

Biznes się zmienia, zarówno ten skierowany na klienta detalicznego, jak i ten oparty na współpracy z kontrahentem biznesowym. Nowe technologie sprawiają, że oczekiwania klientów ewoluują szybko, silnie oddziałując na reguły prowadzenia biznesu. Chcąc rozwijać firmę, należy dynamicznie reagować na aktualne potrzeby rynku, jako że zgodnie z darwinowską teorią, przetrwają Ci, którzy potrafią sprawnie przystosować się do zachodzących zmian.

Duży biznes musi być prosty

Współcześni przedsiębiorcy, wykorzystując najnowsze rozwiązania technologiczne, chcą prowadzić biznes w sposób wygodny, prosty i użyteczny. Kupując online, oczekują sprawnego wyszukania konkretnego asortymentu, spersonalizowanej oferty, intuicyjnej nawigacji strony, a przede wszystkim możliwości pozyskania informacji w czasie rzeczywistym.

Firmy z rynku B2C od dłuższego czasu doskonale rozumieją potrzeby dzisiejszych klientów, aktywnie wprowadzając coraz to nowsze rozwiązania e-commerce. Jednak dopasować sprzedaż do potrzeb współczesnego rynku muszą także firmy prowadzące działalność hurtową. Nowa era B2B oznacza schyłek systemów sprzedaży hurtowej, które odstraszają wyglądem i pozwalają jedynie na poznanie oferty marki, czy złożenie zamówienia. Nowoczesne platformy B2B kompleksowo podchodzą do prowadzonego biznesu, zapewniają zaawansowaną analitykę, pełną integrację z systemami zewnętrznymi, a także narzędzia wspierające codzienną pracę handlowców. To połączenie funkcjonalności, obligatoryjnych dla budowania długofalowej współpracy między przedsiębiorstwami, z rozwiązaniami niegdyś zarezerwowanymi wyłącznie dla B2C.

Integracja z ERP, czyli spójność danych

Dla firm działających w modelu B2B, połączenie systemu sprzedażowego z innymi systemami zewnętrznymi jest szczególnie ważne. Partnerzy biznesowi posiadają bowiem indywidualne ceny, terminy płatności, czy limity kupieckie. Ponadto, platforma B2B nie jest jedynie narzędziem obsługiwanym przez pracowników firmy – to przede wszystkim rozwiązanie dla kontrahentów, którzy oczekują możliwości sprawdzenia aktualnych cen, stanu płatności, czy statusu realizacji zamówienia. Ręczne wprowadzanie wszystkich danych na bieżąco, byłoby niezwykle czasochłonne i narażone na błędy.

Sukces firmy zależy od długofalowych relacji

W sprzedaży business to business, znacznie ważniejsze, niż w przypadku handlu detalicznego, są narzędzia budujące lojalność klientów. Sprzedaż ta opiera się bowiem na stałych partnerach, a nie pojedynczych zamówieniach, dokonanych przez okazjonalnych użytkowników. Warto zatem wdrożyć takie rozwiązania jak: katalog produktów offline, funkcję pozwalającą tworzyć indywidualne ceny hurtowe, czy call center, które umożliwia w łatwy sposób organizować kampanie telefoniczne o charakterze sprzedażowym lub informacyjnym.

W nowoczesnych platformach B2B, często uruchamia się dla swoich klientów bazy wiedzy lub fora. Za ich pomocą, administrator systemu przekazuje kontrahentom niezbędną wiedzę o ofercie produktowej, np. szczegółowe opisy, zdjęcia, informacje o akcjach promocyjnych. Rozwiązanie pozwala także skoncentrować pracę działu handlowego na działaniach sprzedażowych, minimalizując zapytania telefoniczne lub mailowe, dotyczące podstawowych informacji o produktach.

Granica między ówczesnymi sklepami internetowymi, a platformami do sprzedaży hurtowej zaciera się. Nie tylko klienci detaliczni, ale również biznesowi oczekują możliwości dokonania sprawnych zakupów, za pomocą systemu o intuicyjnej nawigacji. Dedykowane rozwiązania e-commerce, realizujące potrzeby biznesowe danego przedsiębiorstwa oraz dbałość o UX systemu, świadczą o nowoczesnym podejściu do prowadzonego biznesu i dają możliwość rozwoju działalności.

Artykuł pierwotnie opublikowany został w magazynie Fashionbusiness.pl.
Chcę poznać rozwiązania systemów e-commerce dla B2B

Release i-systems – wersja 4.5

Wprowadzona została nowa wersja bazowej wersji systemu e-commerce i-systems. Release 4.5 zawiera znaczące ulepszenia w interpretacji cen oraz optymalizacji pamięci. Stworzony został także nowy Moduł Cenników.

Ceny w produkcie

Produkty w bazie mają przypisane swoje ceny. W release 4.5 wprowadzona została możliwość podpięcia jakiegokolwiek źródła cen pod produkt, np. modułu cenników, czy bazy poprzednich cen zapisanych w produktach. Oznacza to, że w momencie gdy klient chce użyć ceny z innego źródła, będą one automatycznie pobierane, bez importowania ich do bazy i-systems.

Optymalizacja sklepu

Wprowadzono sporo modyfikacji przyspieszających działanie sklepu i redukujących potrzebną ilość pamięci. Przeprowadzone zostało profilowanie sklepu, co w wyniku prac programistycznych doprowadziło do przyspieszenia działania sklepu, dzięki zredukowaniu ilości potrzebnej pamięci. Został zmniejszony czas potrzebny na rendering strony: strony głównej, listingu produktów oraz karty produktu. Od teraz wymagane jest mniej zasobów pamięci, a działanie bazowej wersji systemu e-commerce zostało znacznie przyspieszone. Oznacza to, że zoptymalizowana została odpowiedź serwera, jak i zapotrzebowanie pamięci na jedno zapytanie.

Moduł cenników

Nowy Moduł Cenników pozwala zarządzać cenami nie tylko produktów, ale także może dotyczyć np. zestawów. Do tej pory istniały cztery rodzaje cen przypisane do produktu: standardowa, promocyjna, hurtowa, dopłaty do wariantów. Obecnie, istnieje możliwość tworzenia nieskończonej ilości cenników i dodawać do nich nieskończoną ilość cen. Można je również hierarchizować poprzez ustawienie strategii wybierania ceny według odpowiednich kryteriów. Daje to szeroką możliwość zarządzania cenami. Dotyczy to również cenników obcych, czyli niepochodzących z modułu cenników. Przykładem takiego cennika może być cennik walutowy, który pobiera dane na podstawie swojego kursu. Dzięki Modułowi Cenników można więc pobrać cenniki z innego modułu w czasie rzeczywistym.

W release 4.5 zaszły także inne ulepszenia, takie jak np. zmiana sposobu dobierania waluty oraz kraju. Klient przechowuje informacje o kraju i kraju dostawy, a do kraju przypisana jest waluta. Zostało także ujednolicone generowanie formularzy dla zwykłych płatności i multipłatności.

Release jest aktualizacją bazowej wersji na której opiera się system e-commerce, do której regularnie dodawane są nowe funkcjonalności. Dzięki aktualizacji można rozwijać system i dostosowywać go do zmian zachodzących na rynku. Istnieje również możliwość aktualizowania dedykowanych rozwiązań w ramach kolejnych releasów.



Dowiedz się więcej o aktualizacji systemu



#186 Marketing i sprzedaż w dobie mediów społecznościowych – social media monitoring

Zwiększenie sprzedaży oraz chęć lepszego poznania konsumentów, są jednym z głównych powodów, dla których przedsiębiorcy branży e-commerce sięgają po monitoring social media. Narzędzia wspomagające analizę działań i potrzeb konsumentów, pozwalają im dodatkowo kontrolować wizerunek firmy, reagować na aktualne trendy oraz budować strategię marketingową. W jaki sposób osiągają te cele śledząc wypowiedzi internautów?

Partnerem lekcji jest: Unamo Social Media Monitoring
Czytaj dalej