論后臺(tái)產(chǎn)品經(jīng)理如何優(yōu)雅地設(shè)計(jì)導(dǎo)入功能
編輯導(dǎo)讀:導(dǎo)入功能是后臺(tái)產(chǎn)品必不可少的功能,也是使用頻率最高的功能之一。作為一個(gè)后臺(tái)產(chǎn)品經(jīng)理,應(yīng)該如何設(shè)計(jì)導(dǎo)入功能呢?本文作者從自身工作經(jīng)驗(yàn)出發(fā),對(duì)此進(jìn)行分析,希望對(duì)你有幫助。
對(duì)于后臺(tái)產(chǎn)品,導(dǎo)入是系統(tǒng)里必不可少的功能之一。如何設(shè)計(jì)好一個(gè)導(dǎo)入功能,了解以下幾點(diǎn)就夠啦(如果你覺(jué)得不夠,請(qǐng)?jiān)谠u(píng)論補(bǔ)充)。
一、如何定義導(dǎo)入模板
首先導(dǎo)入模板一般是由產(chǎn)品給出,需要率先確定導(dǎo)入模板的名稱、格式、大小。下面以表格為例:
名稱:模板名稱與模板內(nèi)容相匹配就行了
格式:常見(jiàn)表格格式為xls、xlsx、csv
其中csv為純文本格式,上傳更快,當(dāng)上傳文件需要支持大數(shù)量時(shí)可以用csv格式,如下所示:
說(shuō)明:可在導(dǎo)入之前的頁(yè)面或在導(dǎo)入模板中加入導(dǎo)入說(shuō)明,導(dǎo)入說(shuō)明一般是對(duì)導(dǎo)入規(guī)則的解釋,主要目的是告訴用戶如何正確導(dǎo)入,避免導(dǎo)入失敗。
需要注意的一點(diǎn)是,最好支持刪除說(shuō)明行不影響導(dǎo)入,匹配表頭就能導(dǎo)入,以上圖為例就是說(shuō)把前6行刪掉也不會(huì)影響導(dǎo)入,只能讀取到表頭項(xiàng);再進(jìn)一步表頭項(xiàng)缺失也沒(méi)事,只要必填表頭能匹配到就行。這樣做的好處是,用戶如果自己整理好了一個(gè)excel,他不用把數(shù)據(jù)貼到模板里,只用將excel表頭改成與模板一樣就行了,更加方便。
需要注意的另一點(diǎn)是,確定好支持導(dǎo)入的文件格式后,可以限制打開(kāi)文件夾的格式為支持的格式,方便用戶更快的找到需要導(dǎo)入的文件?,F(xiàn)在還有很多是全部文件格式,找個(gè)表單找半天。
另另外一點(diǎn)注意模板里不要帶序號(hào),直接用excel的行號(hào)就可以了,提示錯(cuò)誤信息時(shí)可以直接用行號(hào)告知具體位置。
二、導(dǎo)入后執(zhí)行時(shí)間
一般來(lái)說(shuō)都是導(dǎo)入后立即執(zhí)行,但是也可能存在定時(shí)執(zhí)行,比如導(dǎo)入產(chǎn)品價(jià)格時(shí),可能提前導(dǎo)入再在之后某個(gè)時(shí)間價(jià)格才生效。如果是定時(shí)生效,需要加上生效時(shí)間,并考慮未生效期間內(nèi)的其他導(dǎo)入是否會(huì)造成影響。
三、導(dǎo)入覆蓋還是不覆蓋
覆蓋:指最新一次導(dǎo)入的內(nèi)容會(huì)現(xiàn)將已有內(nèi)容清空再導(dǎo)入,相當(dāng)于覆蓋了。
不覆蓋:指最新一次導(dǎo)入內(nèi)容已經(jīng)存在在系統(tǒng)中時(shí),數(shù)量類型的數(shù)據(jù)相加減,非數(shù)量類型的數(shù)據(jù)以最新一條為準(zhǔn);系統(tǒng)中有但是最新導(dǎo)入內(nèi)容里沒(méi)有的那部分?jǐn)?shù)據(jù)也不會(huì)被清空掉。
像導(dǎo)入庫(kù)存數(shù)據(jù),最新導(dǎo)入的一次是覆蓋之前的記錄還是在之前記錄基礎(chǔ)上加減?當(dāng)然這個(gè)要結(jié)合業(yè)務(wù)場(chǎng)景來(lái)看,比如我們用戶經(jīng)常同時(shí)使用多個(gè)軟件,他們一般先從其他系統(tǒng)中導(dǎo)出庫(kù)存,再導(dǎo)入進(jìn)我們系統(tǒng),那這種情況肯定是要覆蓋前次記錄了,因?yàn)樗麄兠看螌?dǎo)入的都是當(dāng)前的實(shí)際庫(kù)存,而不是變動(dòng)的庫(kù)存。但是像下單時(shí)快捷導(dǎo)入產(chǎn)品,考慮到我們的下單場(chǎng)景是用戶可能有多個(gè)產(chǎn)品清單需要一起下單,多次導(dǎo)入的時(shí)候就適合不覆蓋,相同產(chǎn)品數(shù)量累加。
四、分步驟導(dǎo)入或直接導(dǎo)入
導(dǎo)入方式一般分為分步驟導(dǎo)入與直接導(dǎo)入(導(dǎo)出也同理)。
分步驟導(dǎo)入優(yōu)點(diǎn)是可以導(dǎo)入很大的數(shù)據(jù)量,并且更加安全不易造成數(shù)據(jù)丟失。先將文件上傳,上傳完成后后端并不會(huì)對(duì)數(shù)據(jù)庫(kù)進(jìn)行修改,等導(dǎo)入時(shí)再修改數(shù)據(jù)庫(kù)。我向開(kāi)發(fā)問(wèn)了下具體實(shí)現(xiàn)方法,一種是先把數(shù)據(jù)放在臨時(shí)表里,這樣可以判斷數(shù)據(jù)格式是否正確,另一種是先上傳到云端。
直接導(dǎo)入優(yōu)點(diǎn)是更快捷,適用于數(shù)據(jù)量較小的情況。
如下所示為分步驟導(dǎo)入:
五、導(dǎo)入文件中的重復(fù)數(shù)據(jù)如何處理?
這條其實(shí)很容易和上面覆蓋、不覆蓋弄混,前面說(shuō)的是當(dāng)前導(dǎo)入批次和原先導(dǎo)入批次之間的事,這里說(shuō)的是同一導(dǎo)入批次里行與行的情況,可以分為以下幾種情況:
- 重復(fù)數(shù)據(jù)以最后一條為準(zhǔn)
- 重復(fù)明細(xì)的數(shù)量相加
- 重復(fù)數(shù)據(jù)導(dǎo)入失敗
具體使用場(chǎng)景大家可以想想,在評(píng)論里留言~~~
六、如何確定導(dǎo)入條數(shù)
支持導(dǎo)入的最大條數(shù)可以結(jié)合業(yè)務(wù)場(chǎng)景與系統(tǒng)能力確定,比如導(dǎo)入客戶,如果是SaaS產(chǎn)品,那一般用于用戶首次使用系統(tǒng)時(shí),需要將客戶數(shù)據(jù)從之前使用的其他系統(tǒng)遷移過(guò)來(lái)。那我們可以先拉取當(dāng)前系統(tǒng)上用戶的客戶數(shù)量并從大到小排序,再拿這個(gè)最大值與開(kāi)發(fā)確認(rèn)系統(tǒng)能否支持。如果不能支持,能否通過(guò)后端分批處理、或調(diào)整導(dǎo)入文件格式為csv、或前端分步驟操作等方法來(lái)曲線報(bào)國(guó)。
如果實(shí)在不行,就只能調(diào)整以滿足盡可能多的用戶。我們目標(biāo)就是能讓大多數(shù)用戶可以一次性導(dǎo)入成功,而不是彈出導(dǎo)入文件過(guò)大,請(qǐng)分多次導(dǎo)入的提示條······
七、針對(duì)導(dǎo)入失敗的處理
可以分為以下幾種情況:
- 有一條導(dǎo)入失敗,整個(gè)導(dǎo)不進(jìn)去
- 有一條導(dǎo)入失敗,只有這一條導(dǎo)不進(jìn)去,其他都導(dǎo)入成功
如果導(dǎo)入內(nèi)容相互獨(dú)立,那么可以選擇2;如果導(dǎo)入內(nèi)容有某種關(guān)聯(lián),比如順序不能變,那就得選1。
無(wú)論1或2,在導(dǎo)入失敗時(shí)都要做好提示,產(chǎn)品經(jīng)理需要提前列好導(dǎo)入失敗的原因給到開(kāi)發(fā)。導(dǎo)入失敗原因可以正著說(shuō),如請(qǐng)輸入必填項(xiàng)客戶名稱;也可以反著說(shuō),如客戶名稱不能為空。我建議正著說(shuō),因?yàn)楦嬷脩粽_的做法,而不是指出用戶的錯(cuò)誤會(huì)讓用戶更爽一些。不過(guò)更重要的是要統(tǒng)一,不能一下正著說(shuō),一下又反著說(shuō)。
可以將導(dǎo)入失敗的數(shù)據(jù)單獨(dú)列在彈窗里展示,也可以將導(dǎo)入失敗的部分生成一個(gè)excel,并將失敗原因附在excel里。
如果是彈窗展示失敗原因,又可以分為直接在頁(yè)面上修改或者只展示不能修改,無(wú)論是哪種都要注意數(shù)據(jù)很多時(shí)對(duì)頁(yè)面性能的影響。
八、導(dǎo)入統(tǒng)一性
系統(tǒng)內(nèi)如果有多處導(dǎo)入,注意導(dǎo)入頁(yè)面、導(dǎo)入模板樣式統(tǒng)一。對(duì)于一些通用的導(dǎo)入失敗原因,文描也最好一致或依循同樣的規(guī)則,比如必填項(xiàng)為空、單元格式錯(cuò)誤、文件過(guò)大、表頭不匹配等等。
九、導(dǎo)入記錄
由于導(dǎo)入是批量修改數(shù)據(jù)的操作,出于安全考慮,一般會(huì)有對(duì)應(yīng)的導(dǎo)入記錄頁(yè)面,方便出問(wèn)題追蹤。
十、導(dǎo)入完成后的操作
如果導(dǎo)入成功后,還有其他操作,可以在導(dǎo)入后進(jìn)行引導(dǎo),達(dá)到操作的流暢性。
十一、小結(jié)
以上為本人工作經(jīng)驗(yàn)總結(jié),希望有幫助到正在設(shè)計(jì)導(dǎo)入功能的產(chǎn)品同伴。有想法一定要在評(píng)論里說(shuō)出來(lái)哦,有輸出才有成長(zhǎng)!
本文由 @是喻雪 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載
題圖來(lái)自Unsplash, 基于CC0協(xié)議
很實(shí)用,贊
很實(shí)用,贊一個(gè)
很用心
4.導(dǎo)入時(shí)最好顯示進(jìn)度條
1.導(dǎo)入時(shí)可以選擇部分信息重復(fù)時(shí)是否導(dǎo)入
2.導(dǎo)出時(shí)前端可以增加“當(dāng)前無(wú)數(shù)據(jù)可導(dǎo)出”的提示,減少導(dǎo)出下載后打開(kāi)模板是空數(shù)據(jù),有一些動(dòng)態(tài)列的導(dǎo)出也可以有效避免無(wú)數(shù)據(jù)時(shí)的“尷尬”
3.導(dǎo)入模板建議增加樣式編輯鎖,這樣用戶只可以輸入數(shù)據(jù),不可以修改樣式或表頭順序,減少因?yàn)橛脩粜薷哪0搴笠鸬膶?dǎo)入失敗
文章很實(shí)用,贊!??
對(duì)每一條導(dǎo)入數(shù)據(jù)獨(dú)立編號(hào)。
編號(hào)的重復(fù)算重復(fù)數(shù)據(jù)。
編號(hào)遞增。
能解決重復(fù)數(shù)據(jù)等很多問(wèn)題。
就是編號(hào)維護(hù)麻煩些。
編號(hào)聽(tīng)著像唯一標(biāo)識(shí),就像導(dǎo)入產(chǎn)品時(shí),唯一標(biāo)識(shí)SKU重復(fù)了,就可以判斷兩條重復(fù)了